amrex: add new variant fft for >= 24.11 (#47611)

This commit is contained in:
Weiqun Zhang 2024-11-18 11:35:00 -08:00 committed by GitHub
parent e3c0515076
commit b8eba1c677
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -135,6 +135,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
) )
variant("eb", default=True, description="Build Embedded Boundary classes", when="@24.10:") variant("eb", default=True, description="Build Embedded Boundary classes", when="@24.10:")
variant("eb", default=False, description="Build Embedded Boundary classes", when="@:24.09") variant("eb", default=False, description="Build Embedded Boundary classes", when="@:24.09")
variant("fft", default=False, description="Build FFT support", when="@24.11:")
variant("fortran", default=False, description="Build Fortran API") variant("fortran", default=False, description="Build Fortran API")
variant("linear_solvers", default=True, description="Build linear solvers") variant("linear_solvers", default=True, description="Build linear solvers")
variant("amrdata", default=False, description="Build data services") variant("amrdata", default=False, description="Build data services")
@ -150,6 +151,9 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
# Build dependencies # Build dependencies
depends_on("mpi", when="+mpi") depends_on("mpi", when="+mpi")
with when("+fft"):
depends_on("rocfft", when="+rocm")
depends_on("fftw@3", when="~cuda ~rocm ~sycl")
with when("+ascent"): with when("+ascent"):
depends_on("ascent") depends_on("ascent")
depends_on("ascent +cuda", when="+cuda") depends_on("ascent +cuda", when="+cuda")
@ -330,6 +334,9 @@ def cmake_args(self):
self.define_from_variant("AMReX_PIC", "pic"), self.define_from_variant("AMReX_PIC", "pic"),
] ]
if self.spec.satisfies("+fft"):
args.append("-DAMReX_FFT=ON")
if self.spec.satisfies("%fj"): if self.spec.satisfies("%fj"):
args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M") args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M")