Add language depends_on on several packages (#45298)

This commit is contained in:
Richard Berger 2024-08-05 13:48:58 -06:00 committed by GitHub
parent 5f29bb9b22
commit 83efafa09f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 23 additions and 13 deletions

View File

@ -28,8 +28,6 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage):
version("2.1.0", tag="v2.1.0", commit="533df139c267e2a93c268dfe68f9aec55de11cf0")
version("2.0.0", tag="v2.0.0", commit="5ceebadf75d1c98999ea9e9446926722d061ec22")
depends_on("cxx", type="build") # generated
variant(
"backend",
default="mpi",
@ -52,6 +50,9 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage):
variant("kokkos", default=False, description="Enable Kokkos Support")
variant("openmp", default=False, description="Enable OpenMP Support")
depends_on("c", type="build")
depends_on("cxx", type="build")
# All Current FleCSI Releases
for level in ("low", "medium", "high"):
depends_on("caliper@:2.5,2.8:", when=f"caliper_detail={level}")

View File

@ -43,9 +43,7 @@ class LammpsExamplePlugin(CMakePackage):
preferred=True,
)
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("fortran", type="build") # generated
depends_on("cxx", type="build")
def url_for_version(self, version):
split_ver = str(version).split(".")

View File

@ -369,9 +369,15 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
deprecated=True,
)
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("fortran", type="build") # generated
depends_on("cxx", type="build")
# mdi, scafacos, ml-quip, qmmm require C, but not available in Spack
for c_pkg in ("adios", "atc", "awpmd", "ml-pod", "electrode", "kim", "h5md", "tools"):
depends_on("c", type="build", when=f"+{c_pkg}")
# scafacos, ml-quip require Fortran, but not available in Spack
for fc_pkg in ("kim",):
depends_on("fortran", type="build", when=f"+{fc_pkg}")
stable_versions = {
"20230802.3",
@ -602,6 +608,7 @@ def url_for_version(self, version):
values=("double", "mixed", "single"),
multi=False,
)
variant("tools", default=False, description="Build LAMMPS tools (msi2lmp, binary2txt, chain)")
depends_on("cmake@3.16:", when="@20231121:")
depends_on("mpi", when="+mpi")
@ -780,6 +787,7 @@ def cmake_args(self):
self.define_from_variant("LAMMPS_EXCEPTIONS", "exceptions"),
self.define_from_variant("{}_MPI".format(mpi_prefix), "mpi"),
self.define_from_variant("BUILD_OMP", "openmp"),
self.define_from_variant("BUILD_TOOLS", "tools"),
self.define("ENABLE_TESTING", self.run_tests),
self.define("DOWNLOAD_POTENTIALS", False),
]

View File

@ -34,7 +34,8 @@ class PortsOfCall(CMakePackage):
deprecated=True,
)
depends_on("cxx", type="build") # generated
depends_on("c", type="build") # todo: disable cmake default?
depends_on("cxx", type="build")
variant(
"portability_strategy",

View File

@ -34,9 +34,6 @@ class SingularityEos(CMakePackage, CudaPackage):
deprecated=True,
)
depends_on("cxx", type="build") # generated
depends_on("fortran", type="build") # generated
# build with kokkos, kokkos-kernels for offloading support
variant("kokkos", default=False, description="Enable kokkos")
variant(
@ -69,6 +66,10 @@ class SingularityEos(CMakePackage, CudaPackage):
variant("closure", default=True, description="Build closure module")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", type="build", when="+fortran")
# building/testing/docs
depends_on("cmake@3.19:", type="build")
depends_on("python@3:", when="+python")

View File

@ -38,7 +38,8 @@ class Spiner(CMakePackage, CudaPackage):
deprecated=True,
)
depends_on("cxx", type="build") # generated
depends_on("c", type="build") # todo: disable cmake default?
depends_on("cxx", type="build")
# When overriding/overloading varaints, the last variant is always used, except for
# "when" clauses. Therefore, call the whens FIRST then the non-whens.