summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/xyce/package.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/xyce/package.py b/var/spack/repos/builtin/packages/xyce/package.py
index 38c40efe49..52f0bfdcd0 100644
--- a/var/spack/repos/builtin/packages/xyce/package.py
+++ b/var/spack/repos/builtin/packages/xyce/package.py
@@ -38,7 +38,12 @@ class Xyce(CMakePackage):
variant('mpi', default=True, description='Enable MPI support')
depends_on('mpi', when='+mpi')
+ # any option other than cxxstd=11 would be ignored in Xyce
+ # this defaults to 11, consistent with what will be used,
+ # and produces an error if any other value is attempted
+ cxxstd_choices = ['11']
variant('shared', default=False, description='Enable shared libraries for Xyce')
+ variant('cxxstd', default='11', values=cxxstd_choices, multi=False)
variant('pymi', default=False, description='Enable Python Model Interpreter for Xyce')
depends_on('python@3:', type=('build', 'link', 'run'), when='+pymi')
@@ -58,6 +63,10 @@ class Xyce(CMakePackage):
# installation of many more packages than are needed for Xyce.
depends_on('trilinos~float~ifpack2~ml~muelu~zoltan2')
+ # ensures trilinos built with same cxxstd as Xyce (which Xyce was tested against)
+ for cxxstd_ in cxxstd_choices:
+ depends_on('trilinos cxxstd={0}'.format(cxxstd_), when='cxxstd={0}'.format(cxxstd_))
+
def cmake_args(self):
spec = self.spec
@@ -82,6 +91,7 @@ class Xyce(CMakePackage):
options.append('-DCMAKE_CXX_COMPILER:STRING={0}'.format(self.compiler.cxx))
options.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ options.append(self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'))
if '+pymi' in spec:
pybind11 = spec['py-pybind11']