WarpX/HiPACE/openPMD-api: Use when(...) (#25789)
Use the new with `when()` syntax for variant dependencies.
This commit is contained in:
parent
1a48c0f51c
commit
1badb47b80
@ -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
|
||||
|
@ -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+')
|
||||
|
||||
|
@ -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')
|
||||
|
Loading…
Reference in New Issue
Block a user