Make PETSc an optional dependency of fenics-dolfinx
(#49837)
* Make petsc optional * Add C dependency * Add to cmake args * Make petsc optional * Add C dependency * Add to cmake args * Update var/spack/repos/builtin/packages/fenics-dolfinx/package.py Co-authored-by: Alec Scott <hi@alecbcs.com> * Fix duplicate line --------- Co-authored-by: Alec Scott <hi@alecbcs.com>
This commit is contained in:
parent
6085586407
commit
9010e6f556
@ -30,6 +30,7 @@ class FenicsDolfinx(CMakePackage):
|
||||
multi=True,
|
||||
)
|
||||
|
||||
# HDF5 dependency requires C in CMake
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build") # generated
|
||||
|
||||
@ -40,7 +41,9 @@ class FenicsDolfinx(CMakePackage):
|
||||
|
||||
variant("slepc", default=False, description="slepc support")
|
||||
variant("adios2", default=False, description="adios2 support")
|
||||
variant("petsc", default=False, description="PETSc support")
|
||||
|
||||
depends_on("petsc", when="+slepc")
|
||||
depends_on("cmake@3.21:", when="@0.9:", type="build")
|
||||
depends_on("cmake@3.19:", when="@:0.8", type="build")
|
||||
depends_on("pkgconfig", type="build")
|
||||
@ -50,7 +53,7 @@ class FenicsDolfinx(CMakePackage):
|
||||
depends_on("pugixml")
|
||||
depends_on("spdlog", when="@0.9:")
|
||||
|
||||
depends_on("petsc+mpi+shared")
|
||||
depends_on("petsc+mpi+shared", when="+petsc")
|
||||
depends_on("slepc", when="+slepc")
|
||||
|
||||
depends_on("adios2@2.8.1:+mpi", when="@0.9: +adios2")
|
||||
@ -76,6 +79,7 @@ class FenicsDolfinx(CMakePackage):
|
||||
def cmake_args(self):
|
||||
return [
|
||||
self.define("DOLFINX_SKIP_BUILD_TESTS", True),
|
||||
self.define_from_variant("DOLFINX_ENABLE_PETSC", "petsc"),
|
||||
self.define_from_variant("DOLFINX_ENABLE_SLEPC", "slepc"),
|
||||
self.define_from_variant("DOLFINX_ENABLE_ADIOS2", "adios2"),
|
||||
self.define("DOLFINX_UFCX_PYTHON", False),
|
||||
|
Loading…
Reference in New Issue
Block a user