From ec9748eaf308c929629247ba651721dd22e7a998 Mon Sep 17 00:00:00 2001 From: Paul Kuberry Date: Thu, 27 Jan 2022 09:40:57 -0700 Subject: xyce: Add cxxstd variant with only valid value of 11 (#28616) --- var/spack/repos/builtin/packages/xyce/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'var') 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'] -- cgit v1.2.3-70-g09d2