diff options
author | Chuck Atkins <chuck.atkins@kitware.com> | 2019-07-22 18:33:40 -0400 |
---|---|---|
committer | Greg Becker <becker33@llnl.gov> | 2019-07-22 17:33:40 -0500 |
commit | 69c302f4552d87b7d8a6153b29fde38dada28661 (patch) | |
tree | b2385a4939f1d404df95b43eb918e20e1c8315b1 | |
parent | 8cef81363c90d865e4d02d3894b9071340d8f906 (diff) | |
download | spack-69c302f4552d87b7d8a6153b29fde38dada28661.tar.gz spack-69c302f4552d87b7d8a6153b29fde38dada28661.tar.bz2 spack-69c302f4552d87b7d8a6153b29fde38dada28661.tar.xz spack-69c302f4552d87b7d8a6153b29fde38dada28661.zip |
cmake: Move cxx11 flags for fujitsu into the flag_handler method (#12056)
* cmake: Move cxx11 flags for fujitsu into the flag_handler method
* cmake: sanitization and error checking in flag_handler
* cmake: Fix fujitsu flag check from 'fc' to 'fj'
-rw-r--r-- | var/spack/repos/builtin/packages/cmake/package.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index 1987b6bf21..5f1b45bc3c 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -111,11 +111,16 @@ class Cmake(Package): phases = ['bootstrap', 'build', 'install'] - def setup_environment(self, spack_env, run_env): - if self.compiler.name == 'fj' \ - and self.compiler.cxx11_flag \ - not in self.spec.compiler_flags['cxxflags']: - spack_env.append_flags('CXXFLAGS', self.compiler.cxx11_flag) + def flag_handler(self, name, flags): + if name == 'cxxflags' and self.compiler.name == 'fj': + cxx11plus_flags = (self.compiler.cxx11_flag, + self.compiler.cxx14_flag) + cxxpre11_flags = (self.cxx98_flags) + if any(f in flags for f in cxxpre11_flags): + raise ValueError('cannot build cmake pre-c++11 standard') + elif not any(f in flags for f in cxx11plus_flags): + flags.append(self.compiler.cxx11_flag) + return (flags, None, None) def bootstrap_args(self): spec = self.spec |