diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py index 8d85f27019e..f8b46161d08 100644 --- a/var/spack/repos/builtin/packages/hiop/package.py +++ b/var/spack/repos/builtin/packages/hiop/package.py @@ -72,6 +72,15 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="master") version("develop", branch="develop") + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("fortran", type="build") + + variant( + "axom", + default=False, + description="Enable/Disable AXOM to use Sidre for scalable checkpointing", + ) variant("jsrun", default=False, description="Enable/Disable jsrun command for testing") variant("shared", default=False, description="Enable/Disable shared libraries") variant("mpi", default=True, description="Enable/Disable MPI") @@ -152,6 +161,8 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): # This is no longer a requirement in RAJA > 0.14 depends_on("umpire+cuda~shared", when="+raja+cuda ^raja@:0.14") + depends_on("axom", when="+axom") + conflicts( "+shared", when="+cuda+raja ^raja@:0.14", @@ -203,6 +214,7 @@ def cmake_args(self): self.define_from_variant("HIOP_USE_MPI", "mpi"), self.define_from_variant("HIOP_DEEPCHECKS", "deepchecking"), self.define_from_variant("HIOP_USE_CUDA", "cuda"), + self.define_from_variant("HIOP_USE_AXOM", "axom"), self.define_from_variant("HIOP_USE_HIP", "rocm"), self.define_from_variant("HIOP_USE_RAJA", "raja"), self.define_from_variant("HIOP_USE_UMPIRE", "raja"), @@ -272,6 +284,9 @@ def cmake_args(self): if spec.satisfies("+sparse"): args.append(self.define("HIOP_COINHSL_DIR", spec["coinhsl"].prefix)) + if spec.satisfies("+axom"): + args.append(self.define("AXOM_DIR", spec["axom"].prefix)) + return args # If testing on a cluster without access to home directory in a job, you may