summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/amrex/package.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py
index ebe3e34dff..4ded35c18d 100644
--- a/var/spack/repos/builtin/packages/amrex/package.py
+++ b/var/spack/repos/builtin/packages/amrex/package.py
@@ -107,6 +107,10 @@ class Amrex(CMakePackage):
url = "https://github.com/AMReX-Codes/amrex/archive/{0}.tar.gz"
return url.format(version.dotted)
+ #
+ # For versions <= 20.11
+ #
+ @when('@:20.11')
def cmake_args(self):
args = [
'-DUSE_XSDK_DEFAULTS=ON',
@@ -133,3 +137,34 @@ class Amrex(CMakePackage):
args.append('-DCMAKE_Fortran_MODDIR_FLAG=-M')
return args
+
+ #
+ # For versions > 20.11
+ #
+ @when('@20.12:')
+ def cmake_args(self):
+ args = [
+ '-DUSE_XSDK_DEFAULTS=ON',
+ self.define_from_variant('AMReX_SPACEDIM', 'dimensions'),
+ self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define_from_variant('AMReX_MPI', 'mpi'),
+ self.define_from_variant('AMReX_OMP', 'openmp'),
+ '-DXSDK_PRECISION:STRING=%s' %
+ self.spec.variants['precision'].value.upper(),
+ self.define_from_variant('XSDK_ENABLE_Fortran', 'fortran'),
+ self.define_from_variant('AMReX_FORTRAN_INTERFACES', 'fortran'),
+ self.define_from_variant('AMReX_EB', 'eb'),
+ self.define_from_variant('AMReX_LINEAR_SOLVERS',
+ 'linear_solvers'),
+ self.define_from_variant('AMReX_AMRDATA', 'amrdata'),
+ self.define_from_variant('AMReX_PARTICLES', 'particles'),
+ self.define_from_variant('AMReX_SUNDIALS', 'sundials'),
+ self.define_from_variant('AMReX_HDF5', 'hdf5'),
+ self.define_from_variant('AMReX_HYPRE', 'hypre'),
+ self.define_from_variant('AMReX_PETSC', 'petsc'),
+ self.define_from_variant('AMReX_CUDA', 'cuda'),
+ ]
+ if self.spec.satisfies('%fj'):
+ args.append('-DCMAKE_Fortran_MODDIR_FLAG=-M')
+
+ return args