summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kuberry <pakuber@sandia.gov>2022-01-27 09:40:57 -0700
committerGitHub <noreply@github.com>2022-01-27 11:40:57 -0500
commitec9748eaf308c929629247ba651721dd22e7a998 (patch)
treef5820321c1fd7f7fa177fe66cd761887ef1d7356
parent28ea1bab684496c2762bb0f30f8fabe182e6a9a4 (diff)
downloadspack-ec9748eaf308c929629247ba651721dd22e7a998.tar.gz
spack-ec9748eaf308c929629247ba651721dd22e7a998.tar.bz2
spack-ec9748eaf308c929629247ba651721dd22e7a998.tar.xz
spack-ec9748eaf308c929629247ba651721dd22e7a998.zip
xyce: Add cxxstd variant with only valid value of 11 (#28616)
-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']