Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions repos/spack_repo/builtin/packages/omega_h/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ class OmegaH(CMakePackage, CudaPackage):
maintainers("cwsmith")
tags = ["e4s"]
version("main", branch="main")
version(
"11.2.0-scorec",
commit="6b26c685cf3a62f595d5f21f05deb0525ae48c6f",
git="https://github.com/SCOREC/omega_h.git",
)
version(
"11.1.0-scorec",
commit="9254be597e6460df497724e11b466485c37e94ff",
Expand Down Expand Up @@ -72,7 +77,11 @@ class OmegaH(CMakePackage, CudaPackage):
variant("shared", default=True, description="Build shared libraries")
variant("mpi", default=True, description="Activates MPI support")
variant("zlib", default=True, description="Activates ZLib support")
variant("trilinos", default=False, description="Use Kokkos and SEACASExodus from trilinos")
variant(
"trilinos",
default=False,
description="Use Kokkos and SEACASExodus from trilinos",
)
variant(
"exodus",
default=False,
Expand All @@ -87,6 +96,12 @@ class OmegaH(CMakePackage, CudaPackage):
variant("gmsh", default=False, description="Use Gmsh C++ API")
variant("kokkos", default=False, description="Use Kokkos")
variant("cuda", default=False, description="Enable CUDA backend", when="@:10.10.0")
variant(
"python",
default=False,
description="enable python interfaces",
when="@11.2.0-scorec:",
)

depends_on("cxx", type="build")
depends_on("c", type="build", when="+mpi")
Expand All @@ -98,6 +113,10 @@ class OmegaH(CMakePackage, CudaPackage):
depends_on("trilinos +kokkos+exodus", when="@:11.0.0-scorec+exodus")
depends_on("kokkos", when="+kokkos")
depends_on("kokkos@4.3.00:", when="@10.10.0-scorec:+kokkos")
depends_on("python", when="+python")
depends_on("py-numpy", type=("build", "link", "run"), when="+python")
depends_on("py-pybind11", type="build", when="+python")
depends_on("py-pytest", type="test", when="+python")
depends_on("zlib-api", when="+zlib")
depends_on("seacas~x11~tests~fortran", when="@11.1.0-scorec:+exodus")

Expand All @@ -108,6 +127,8 @@ class OmegaH(CMakePackage, CudaPackage):
msg="Use SEACASExodus directly or via Trilinos, not both",
)

extends("python", when="+python")

with when("+cuda"):
# https://github.com/SCOREC/omega_h/commit/40a2d36d0b747a7147aeed238a0323f40b227cb2
depends_on("cuda@11.4:", when="@10.8.3:")
Expand All @@ -127,8 +148,13 @@ class OmegaH(CMakePackage, CudaPackage):
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86610
conflicts("%gcc@8:8.2", when="@:9.22.1")

conflicts("+python", when="~shared", msg="python requires shared build")

def patch(self):
if "@:9.34.8" in self.spec:
# https://github.com/SCOREC/omega_h/commit/4dd682ef16ebf2502239ad06883e9f10c611f1c4
if self.spec.satisfies("@10.8.6-scorec:11.0.0-scorec"):
filter_file(r"nc_set_log_level\(5\);", "", "src/Omega_h_exodus.cpp")
if self.spec.satisfies("@:9.34.8"):
filter_file(
r"OUTPUT_QUIET", "OUTPUT_VARIABLE Gmsh_VERSION_STRING", "cmake/FindGmsh.cmake"
)
Expand Down Expand Up @@ -175,6 +201,8 @@ def cmake_args(self):
args.append("-DOmega_h_USE_Gmsh:BOOL=ON")
if "+kokkos" in self.spec:
args.append("-DOmega_h_USE_Kokkos:BOOL=ON")
if "+python" in self.spec:
args.append("-DOmega_h_USE_pybind11:BOOL=ON")
if "+zlib" in self.spec:
args.append("-DOmega_h_USE_ZLIB:BOOL=ON")
args.append("-DZLIB_ROOT:PATH={0}".format(self.spec["zlib-api"].prefix))
Expand Down
Loading