WarpX/HiPACE/openPMD-api: Use when(...) (#25789)

Use the new with `when()` syntax for variant dependencies.
This commit is contained in:
Axel Huebl 2021-09-06 06:26:04 -07:00 committed by GitHub
parent 1a48c0f51c
commit 1badb47b80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 39 deletions

View File

@ -36,17 +36,20 @@ class Hipace(CMakePackage):
depends_on('cmake@3.15.0:', type='build')
depends_on('cuda@9.2.88:', when='compute=cuda')
depends_on('fftw@3: +openmp', when='compute=omp')
depends_on('fftw +mpi', when='+mpi compute=omp')
depends_on('mpi', when='+mpi')
depends_on('openpmd-api@hipace', when='+openpmd')
depends_on('openpmd-api ~mpi', when='+openpmd ~mpi')
depends_on('openpmd-api +mpi', when='+openpmd +mpi')
depends_on('pkgconfig', type='build', when='compute=omp')
depends_on('rocfft', when='compute=hip')
depends_on('rocprim', when='compute=hip')
depends_on('rocrand', when='compute=hip')
depends_on('llvm-openmp', when='%apple-clang compute=omp')
with when('+openpmd'):
depends_on('openpmd-api@hipace')
depends_on('openpmd-api ~mpi', when='~mpi')
depends_on('openpmd-api +mpi', when='+mpi')
with when('compute=omp'):
depends_on('fftw@3: +openmp')
depends_on('fftw +mpi', when='+mpi')
depends_on('pkgconfig', type='build')
depends_on('llvm-openmp', when='%apple-clang')
with when('compute=hip'):
depends_on('rocfft')
depends_on('rocprim')
depends_on('rocrand')
def cmake_args(self):
spec = self.spec

View File

@ -49,22 +49,26 @@ class OpenpmdApi(CMakePackage):
depends_on('catch2@2.6.1:', type='test')
depends_on('catch2@2.13.4:', type='test', when='@0.14.0:')
depends_on('mpi@2.3:', when='+mpi') # might become MPI 3.0+
depends_on('hdf5@1.8.13:', when='+hdf5')
depends_on('hdf5@1.8.13: ~mpi', when='~mpi +hdf5')
depends_on('hdf5@1.8.13: +mpi', when='+mpi +hdf5')
depends_on('adios@1.13.1: ~sz', when='+adios1')
depends_on('adios@1.13.1: ~mpi ~sz', when='~mpi +adios1')
depends_on('adios@1.13.1: +mpi ~sz', when='+mpi +adios1')
depends_on('adios2@2.5.0:', when='+adios2')
depends_on('adios2@2.6.0:', when='+adios2 @0.12.0:')
depends_on('adios2@2.7.0:', when='+adios2 @0.14.0:')
depends_on('adios2@2.5.0: ~mpi', when='~mpi +adios2')
depends_on('adios2@2.5.0: +mpi', when='+mpi +adios2')
depends_on('nlohmann-json@3.9.1:')
depends_on('py-pybind11@2.6.2:', when='+python', type='link')
depends_on('py-numpy@1.15.1:', when='+python', type=['test', 'run'])
depends_on('py-mpi4py@2.1.0:', when='+python +mpi', type=['test', 'run'])
depends_on('python@3.6:', when='+python', type=['link', 'test', 'run'])
with when('+hdf5'):
depends_on('hdf5@1.8.13:')
depends_on('hdf5@1.8.13: ~mpi', when='~mpi')
depends_on('hdf5@1.8.13: +mpi', when='+mpi')
with when('+adios1'):
depends_on('adios@1.13.1: ~sz')
depends_on('adios@1.13.1: ~mpi ~sz', when='~mpi')
depends_on('adios@1.13.1: +mpi ~sz', when='+mpi')
with when('+adios2'):
depends_on('adios2@2.5.0:')
depends_on('adios2@2.6.0:', when='@0.12.0:')
depends_on('adios2@2.7.0:', when='@0.14.0:')
depends_on('adios2@2.5.0: ~mpi', when='~mpi')
depends_on('adios2@2.5.0: +mpi', when='+mpi')
with when('+python'):
depends_on('py-pybind11@2.6.2:', type='link')
depends_on('py-numpy@1.15.1:', type=['test', 'run'])
depends_on('py-mpi4py@2.1.0:', when='+mpi', type=['test', 'run'])
depends_on('python@3.6:', type=['link', 'test', 'run'])
conflicts('^hdf5 api=v16', msg='openPMD-api requires HDF5 APIs for 1.8+')

View File

@ -77,24 +77,28 @@ class Warpx(CMakePackage):
# automatically
depends_on('ascent +cuda ~shared', when='+ascent compute=cuda')
depends_on('ascent +mpi', when='+ascent +mpi')
depends_on('blaspp', when='+psatd dims=rz')
depends_on('blaspp +cuda', when='+psatd dims=rz compute=cuda')
depends_on('boost@1.66.0: +math', when='+qedtablegen')
depends_on('cmake@3.15.0:', type='build')
depends_on('cuda@9.2.88:', when='compute=cuda')
depends_on('fftw@3: +openmp', when='+psatd compute=omp')
depends_on('fftw +mpi', when='+psatd +mpi compute=omp')
depends_on('lapackpp', when='+psatd dims=rz')
depends_on('mpi', when='+mpi')
depends_on('openpmd-api@0.13.1:', when='+openpmd')
depends_on('openpmd-api@0.14.2:', when='+openpmd @21.09:')
depends_on('openpmd-api ~mpi', when='+openpmd ~mpi')
depends_on('openpmd-api +mpi', when='+openpmd +mpi')
depends_on('pkgconfig', type='build', when='+psatd compute=omp')
depends_on('rocfft', when='+psatd compute=hip')
depends_on('rocprim', when='compute=hip')
depends_on('rocrand', when='compute=hip')
depends_on('llvm-openmp', when='%apple-clang compute=omp')
depends_on('mpi', when='+mpi')
with when('+psatd dims=rz'):
depends_on('lapackpp')
depends_on('blaspp')
depends_on('blaspp +cuda', when='compute=cuda')
with when('+psatd compute=omp'):
depends_on('fftw@3: +openmp')
depends_on('fftw +mpi', when='+mpi')
depends_on('pkgconfig', type='build')
with when('+openpmd'):
depends_on('openpmd-api@0.13.1:')
depends_on('openpmd-api@0.14.2:', when='@21.09:')
depends_on('openpmd-api ~mpi', when='~mpi')
depends_on('openpmd-api +mpi', when='+mpi')
with when('compute=hip'):
depends_on('rocfft', when='+psatd')
depends_on('rocprim')
depends_on('rocrand')
conflicts('~qed +qedtablegen',
msg='WarpX PICSAR QED table generation needs +qed')