Add some easy to implement Dune modules to the Spack package

This commit is contained in:
Dominic Kempf 2020-05-19 13:57:43 +02:00
parent e75d5fefeb
commit 4dbf9e9e27
1 changed files with 38 additions and 1 deletions

View File

@ -69,12 +69,16 @@ class Dune(CMakePackage):
# are activated by default. # are activated by default.
variant('alugrid', default=False, description='Build with dune-alugrid module') variant('alugrid', default=False, description='Build with dune-alugrid module')
variant('codegen', default=False, description='Build with dune-codegen module') variant('codegen', default=False, description='Build with dune-codegen module')
variant('foamgrid', default=False, description='Build with dune-foamgrid module')
variant('functions', default=False, description='Build with dune-functions module') variant('functions', default=False, description='Build with dune-functions module')
variant('geometry', default=True, description='Build with dune-geometry module') variant('geometry', default=True, description='Build with dune-geometry module')
variant('grid', default=True, description='Build with dune-grid module') variant('grid', default=True, description='Build with dune-grid module')
variant('gridglue', default=False, description='Build with dune-grid-glue module')
variant('istl', default=True, description='Build with dune-istl module') variant('istl', default=True, description='Build with dune-istl module')
variant('localfunctions', default=True, description='Build with dune-localfunctions module') variant('localfunctions', default=True, description='Build with dune-localfunctions module')
variant('multidomaingrid', default=False, description='Build with dune-multidomaingrid module')
variant('pdelab', default=False, description='Build with dune-pdelab module') variant('pdelab', default=False, description='Build with dune-pdelab module')
variant('polygongrid', default=False, description='Build with dune-polygongrid module')
variant('spgrid', default=False, description='Build with dune-spgrid module') variant('spgrid', default=False, description='Build with dune-spgrid module')
variant('testtools', default=False, description='Build with dune-testtools module') variant('testtools', default=False, description='Build with dune-testtools module')
variant('typetree', default=False, description='Build with dune-typetree module') variant('typetree', default=False, description='Build with dune-typetree module')
@ -156,6 +160,35 @@ class Dune(CMakePackage):
when='@%s+testtools' % vers, when='@%s+testtools' % vers,
) )
resource(
name='dune-polygongrid',
git='https://gitlab.dune-project.org/extensions/dune-polygongrid.git',
branch=branch,
when='@%s+polygongrid' % vers,
)
resource(
name='dune-foamgrid',
git='https://gitlab.dune-project.org/extensions/dune-foamgrid.git',
branch=branch,
when='@%s+foamgrid' % vers,
)
resource(
name='dune-multidomaingrid',
git='https://gitlab.dune-project.org/extensions/dune-multidomaingrid.git',
branch=branch,
when='@%s+multidomaingrid' % vers,
)
# The dune-grid-glue package does not yet have a 2.7-compatible release
resource(
name='dune-grid-glue',
git='https://gitlab.dune-project.org/extensions/dune-grid-glue.git',
branch='master',
when='@master+gridglue',
)
# The dune-python package migrated to dune-common after the 2.7 release # The dune-python package migrated to dune-common after the 2.7 release
resource( resource(
name='dune-python', name='dune-python',
@ -187,13 +220,17 @@ class Dune(CMakePackage):
module_dependencies["dune-alugrid"] = ["dune-grid", "dune-geometry", "dune-common"] module_dependencies["dune-alugrid"] = ["dune-grid", "dune-geometry", "dune-common"]
module_dependencies["dune-codegen"] = ["dune-pdelab", "dune-testtools", "dune-alugrid"] module_dependencies["dune-codegen"] = ["dune-pdelab", "dune-testtools", "dune-alugrid"]
module_dependencies["dune-common"] = [] module_dependencies["dune-common"] = []
module_dependencies["dune-foamgrid"] = ["dune-grid"]
module_dependencies["dune-functions"] = ["dune-grid", "dune-typetree", "dune-localfunctions", "dune-istl"] module_dependencies["dune-functions"] = ["dune-grid", "dune-typetree", "dune-localfunctions", "dune-istl"]
module_dependencies["dune-geometry"] = ["dune-common"] module_dependencies["dune-geometry"] = ["dune-common"]
module_dependencies["dune-grid"] = ["dune-common", "dune-geometry"] module_dependencies["dune-grid"] = ["dune-common", "dune-geometry"]
module_dependencies["dune-grid-glue"] = ["dune-grid"]
module_dependencies["dune-istl"] = ["dune-common"] module_dependencies["dune-istl"] = ["dune-common"]
module_dependencies["dune-localfunctions"] = ["dune-common", "dune-geometry"] module_dependencies["dune-localfunctions"] = ["dune-common", "dune-geometry"]
module_dependencies["dune-multidomaingrid"] = ["dune-grid", "dune-typetree"]
module_dependencies["dune-pdelab"] = ["dune-common", "dune-grid", "dune-istl", "dune-functions"] module_dependencies["dune-pdelab"] = ["dune-common", "dune-grid", "dune-istl", "dune-functions"]
module_dependencies["dune-python"] = [] module_dependencies["dune-polygongrid"] = ["dune-grid"]
module_dependencies["dune-python"] = ["dune-common"]
module_dependencies["dune-testtools"] = ["dune-common"] module_dependencies["dune-testtools"] = ["dune-common"]
module_dependencies["dune-typetree"] = ["dune-common"] module_dependencies["dune-typetree"] = ["dune-common"]
module_dependencies["dune-uggrid"] = ["dune-common"] module_dependencies["dune-uggrid"] = ["dune-common"]