summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChuck Atkins <chuck.atkins@kitware.com>2019-07-22 18:33:40 -0400
committerGreg Becker <becker33@llnl.gov>2019-07-22 17:33:40 -0500
commit69c302f4552d87b7d8a6153b29fde38dada28661 (patch)
treeb2385a4939f1d404df95b43eb918e20e1c8315b1
parent8cef81363c90d865e4d02d3894b9071340d8f906 (diff)
downloadspack-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.py15
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