From a093f4a8cee849a63e09065037e3a859306e808f Mon Sep 17 00:00:00 2001 From: Jacob King Date: Tue, 7 Nov 2023 11:21:38 -0700 Subject: superlu-dist: add +parmetis variant. (#40746) * Expose ability to make parmetis an optional superlu-dist dependency to spack package management. * rename parmetis variant: Enable ParMETIS library --------- Co-authored-by: eugeneswalker --- .../repos/builtin/packages/superlu-dist/package.py | 28 +++++++++++++--------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py index 241dc4b552..eb5d51950f 100644 --- a/var/spack/repos/builtin/packages/superlu-dist/package.py +++ b/var/spack/repos/builtin/packages/superlu-dist/package.py @@ -53,14 +53,16 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage): ), ) variant("shared", default=True, description="Build shared libraries") + variant("parmetis", default=True, description="Enable ParMETIS library") depends_on("mpi") depends_on("blas") depends_on("lapack") - depends_on("parmetis +int64", when="+int64") - depends_on("metis@5: +int64", when="+int64") - depends_on("parmetis ~int64", when="~int64") - depends_on("metis@5: ~int64", when="~int64") + with when("+parmetis"): + depends_on("metis@5: +int64", when="+int64") + depends_on("parmetis +int64", when="+int64") + depends_on("metis@5: ~int64", when="~int64") + depends_on("parmetis ~int64", when="~int64") depends_on("cmake@3.18.1:", type="build", when="@7.1.0:") depends_on("hipblas", when="+rocm") depends_on("rocsolver", when="+rocm") @@ -93,13 +95,17 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage): append_define("TPL_LAPACK_LIBRARIES", spec["lapack"].libs) append_define("TPL_ENABLE_LAPACKLIB", True) append_define("USE_XSDK_DEFAULTS", True) - append_define( - "TPL_PARMETIS_LIBRARIES", [spec["parmetis"].libs.ld_flags, spec["metis"].libs.ld_flags] - ) - append_define( - "TPL_PARMETIS_INCLUDE_DIRS", - [spec["parmetis"].prefix.include, spec["metis"].prefix.include], - ) + + append_from_variant("TPL_ENABLE_PARMETISLIB", "parmetis") + if "+parmetis" in spec: + append_define( + "TPL_PARMETIS_LIBRARIES", + [spec["parmetis"].libs.ld_flags, spec["metis"].libs.ld_flags], + ) + append_define( + "TPL_PARMETIS_INCLUDE_DIRS", + [spec["parmetis"].prefix.include, spec["metis"].prefix.include], + ) append_define("XSDK_INDEX_SIZE", "64" if "+int64" in spec else "32") -- cgit v1.2.3-70-g09d2