summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorCameron Smith <cwsmith@users.noreply.github.com>2019-02-14 15:36:56 -0500
committerMassimiliano Culpo <massimiliano.culpo@gmail.com>2019-02-14 21:36:56 +0100
commita06bf21610830f9d7a282d54137c06c7e393ef94 (patch)
treeb6c14ac202fb60819b5135fb3e301f39185a2b83 /var
parent1ec0d4feb3b276950741f4f087660bda19e6695a (diff)
downloadspack-a06bf21610830f9d7a282d54137c06c7e393ef94.tar.gz
spack-a06bf21610830f9d7a282d54137c06c7e393ef94.tar.bz2
spack-a06bf21610830f9d7a282d54137c06c7e393ef94.tar.xz
spack-a06bf21610830f9d7a282d54137c06c7e393ef94.zip
new variant: simmodsuite for pumi (#8775)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/pumi/package.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/pumi/package.py b/var/spack/repos/builtin/packages/pumi/package.py
index ddcac1c94b..71e1df4f9e 100644
--- a/var/spack/repos/builtin/packages/pumi/package.py
+++ b/var/spack/repos/builtin/packages/pumi/package.py
@@ -32,10 +32,25 @@ class Pumi(CMakePackage):
variant('shared', default=False, description='Build shared libraries')
variant('zoltan', default=False, description='Enable Zoltan Features')
variant('fortran', default=False, description='Enable FORTRAN interface')
+ variant('simmodsuite', default='none',
+ values=('none', 'base', 'kernels', 'full'),
+ description="Enable Simmetrix SimModSuite Support: 'base' enables "
+ "the minimum set of functionality, 'kernels' adds CAD kernel support "
+ "to 'base', and 'full' enables all functionality.")
depends_on('mpi')
depends_on('cmake@3:', type='build')
depends_on('zoltan', when='+zoltan')
+ simbase = "+base"
+ simkernels = simbase + "+parasolid+acis+discrete"
+ simfull = simkernels + "+abstract+adv+advmodel\
+ +import+paralleladapt+parallelmesh"
+ depends_on('simmetrix-simmodsuite' + simbase,
+ when='simmodsuite=base')
+ depends_on('simmetrix-simmodsuite' + simkernels,
+ when='simmodsuite=kernels')
+ depends_on('simmetrix-simmodsuite' + simfull,
+ when='simmodsuite=full')
def cmake_args(self):
spec = self.spec
@@ -50,5 +65,14 @@ class Pumi(CMakePackage):
'-DPUMI_FORTRAN_INTERFACE=%s' %
('ON' if '+fortran' in spec else 'OFF')
]
-
+ if self.spec.satisfies('simmodsuite=base'):
+ args.append('-DENABLE_SIMMETRIX=ON')
+ if self.spec.satisfies('simmodsuite=kernels') or \
+ self.spec.satisfies('simmodsuite=full'):
+ args.append('-DENABLE_SIMMETRIX=ON')
+ args.append('-DSIM_PARASOLID=ON')
+ args.append('-DSIM_ACIS=ON')
+ args.append('-DSIM_DISCRETE=ON')
+ mpi_id = spec['mpi'].name + spec['mpi'].version.string
+ args.append('-DSIM_MPI=' + mpi_id)
return args