seacas: update the variants and tpls (#43195)

Adds variants to turn off tests
Add variants for some missing TPL options
Add the variables required to build in ~shared

* Add pamgen to Trilinos as a variant to support SEACAS

This adds the ability to turn off and on pamgen as needed
through the variant interface for the Trilinos package.py.
Add changes for seacas package.py to build the appropriate
Trilinos variants.
Add zlib-api as depends_on instead of zlib directly for SEACAS
package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
mvlopri 2024-03-20 10:14:24 -06:00 committed by GitHub
parent 7028669d50
commit ba02c6b70f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 7 deletions

View file

@ -135,7 +135,7 @@ class Seacas(CMakePackage):
# meaningfully linked against as a shared library
variant("shared", default=True, description="Enables the build of shared libraries")
variant("mpi", default=True, description="Enables MPI parallelism.")
variant("tests", default=True, description="Enable the SEACAS tests to build")
variant(
"thread_safe", default=False, description="Enable thread-safe exodus and IOSS libraries"
)
@ -146,19 +146,24 @@ class Seacas(CMakePackage):
variant("faodel", default=False, description="Enable Faodel")
variant("matio", default=True, description="Compile with matio (MatLab) support")
variant("metis", default=False, description="Compile with METIS and ParMETIS")
variant("pamgen", default=False, description="Compile with pamgen")
variant("x11", default=True, description="Compile with X11")
variant("zlib", default=False, description="Compile with zlib")
# ###################### Dependencies ##########################
depends_on("cmake@3.22:", when="@2023-10-24:", type="build")
depends_on("cmake@3.17:", when="@:2023-05-30", type="build")
depends_on("mpi", when="+mpi")
depends_on("zlib-api", when="+zlib")
depends_on("trilinos~exodus+mpi+pamgen", when="+mpi+pamgen")
depends_on("trilinos~exodus~mpi+pamgen", when="~mpi+pamgen")
# Always depends on netcdf-c
depends_on("netcdf-c@4.8.0:+mpi+parallel-netcdf", when="+mpi")
depends_on("netcdf-c@4.8.0:~mpi", when="~mpi")
depends_on("hdf5+hl~mpi", when="~mpi")
depends_on("hdf5+hl+mpi", when="+mpi")
depends_on("fmt@10.1.0", when="@2023-10-24:")
depends_on("fmt@10.2.1:", when="@2024-03-11:")
depends_on("fmt@10.1.0:", when="@2023-10-24:2023-11-27")
depends_on("fmt@9.1.0", when="@2022-10-14:2023-05-30")
depends_on("fmt@8.1.0:9", when="@2022-03-04:2022-05-16")
@ -215,7 +220,7 @@ def cmake_args(self):
options.extend(
[
define(project_name_base + "_ENABLE_TESTS", True),
from_variant(project_name_base + "_ENABLE_TESTS", "tests"),
define(project_name_base + "_ENABLE_CXX11", True),
define(project_name_base + "_ENABLE_Kokkos", False),
define(project_name_base + "_HIDE_DEPRECATED_CODE", False),
@ -233,7 +238,8 @@ def cmake_args(self):
define(project_name_base + "_ENABLE_SEACAS", True),
]
)
if "~shared" in self.spec:
options.append(self.define(f"{project_name_base}_EXTRA_LINK_FLAGS", "z;dl"))
options.append(from_variant("TPL_ENABLE_MPI", "mpi"))
if "+mpi" in spec and not is_windows:
options.extend(
@ -361,6 +367,9 @@ def cmake_args(self):
[define("TPL_ENABLE_METIS", False), define("TPL_ENABLE_ParMETIS", False)]
)
options.append(from_variant(f"{project_name_base}_ENABLE_Pamgen", "pamgen"))
options.append(from_variant("TPL_ENABLE_Pamgen", "pamgen"))
options.append(from_variant("TPL_ENABLE_Matio", "matio"))
if "+matio" in spec:
options.append(define("Matio_ROOT", spec["matio"].prefix))

View file

@ -137,6 +137,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
variant("minitensor", default=False, description="Compile with MiniTensor")
variant("muelu", default=True, description="Compile with Muelu")
variant("nox", default=False, description="Compile with NOX")
variant("pamgen", default=False, description="Compile with Pamgen")
variant("panzer", default=False, description="Compile with Panzer")
variant("piro", default=False, description="Compile with Piro")
variant("phalanx", default=False, description="Compile with Phalanx")
@ -673,7 +674,7 @@ def define_enable(suffix, value=None):
define_trilinos_enable("ML"),
define_trilinos_enable("MueLu"),
define_trilinos_enable("NOX"),
define_trilinos_enable("Pamgen", False),
define_trilinos_enable("Pamgen"),
define_trilinos_enable("Panzer"),
define_trilinos_enable("Pike", False),
define_trilinos_enable("Piro"),