h5z-zfp: update to use CMake (#49735)

* h5z-zfp: update to use CMake.

* Add depedency requirement.

* Remove shared variant.
This commit is contained in:
Jon Rood 2025-04-08 11:43:40 -06:00 committed by GitHub
parent 63a506ed17
commit 4372907fc1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -20,47 +20,19 @@ class H5zZfp(CMakePackage):
version("1.1.0", sha256="48a81e69d1f3b61d9a1eb07e868164fadf3b88690ec930efd849f5889681a893") version("1.1.0", sha256="48a81e69d1f3b61d9a1eb07e868164fadf3b88690ec930efd849f5889681a893")
variant("fortran", default=True, description="Enable Fortran support") variant("fortran", default=True, description="Enable Fortran support")
variant("tests", default=False, description="Build tests")
depends_on("c", type="build") # generated depends_on("c", type="build")
depends_on("fortran", type="build") # generated depends_on("fortran", type="build", when="+fortran")
depends_on("hdf5")
depends_on("hdf5+fortran", when="+fortran")
depends_on("hdf5", when="~fortran")
depends_on("mpi", when="^hdf5+mpi")
depends_on("zfp bsws=8") depends_on("zfp bsws=8")
depends_on("hdf5+fortran", when="+fortran")
depends_on("mpi", when="^hdf5+mpi")
@property def cmake_args(self):
def make_defs(self): args = [
cc = spack_cc self.define_from_variant("FORTRAN_INTERFACE", "fortran"),
fc = spack_fc self.define_from_variant("BUILD_TESTING", "tests"),
if self.spec.satisfies("^hdf5+mpi"):
cc = self.spec["mpi"].mpicc
fc = self.spec["mpi"].mpifc
make_defs = [
"PREFIX=%s" % prefix,
"CC=%s" % cc,
"HDF5_HOME=%s" % self.spec["hdf5"].prefix,
"ZFP_HOME=%s" % self.spec["zfp"].prefix,
] ]
if self.spec.satisfies("+fortran") and fc: return args
make_defs += ["FC=%s" % fc]
else:
make_defs += ["FC="]
return make_defs
@property
def build_targets(self):
targets = ["all"]
return self.make_defs + targets
@property
def install_targets(self):
make_args = ["install"]
return make_args + self.make_defs
@run_after("build")
@on_package_attributes(run_tests=True)
def check_build(self):
make("check", *self.make_defs, parallel=False)