summaryrefslogtreecommitdiff
path: root/var/spack
diff options
context:
space:
mode:
authorPat McCormick <651611+pmccormick@users.noreply.github.com>2022-01-05 11:20:24 -0700
committerGitHub <noreply@github.com>2022-01-05 10:20:24 -0800
commit52cfd179177412ec772c820dc5e345d17cb83bd1 (patch)
treef417b3370a488bbeca85e736827cb7b3cadcf3f2 /var/spack
parentf34598214b878703a9312a6de43083d3f8036102 (diff)
downloadspack-52cfd179177412ec772c820dc5e345d17cb83bd1.tar.gz
spack-52cfd179177412ec772c820dc5e345d17cb83bd1.tar.bz2
spack-52cfd179177412ec772c820dc5e345d17cb83bd1.tar.xz
spack-52cfd179177412ec772c820dc5e345d17cb83bd1.zip
Address legion package build issue on macOS with apple-clang-12 (#28241)
* Added C++ standard variant as a primary work-around for issues with apple-clang 12.x but could also be helpful for broader uses.
Diffstat (limited to 'var/spack')
-rw-r--r--var/spack/repos/builtin/packages/legion/package.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py
index fe13d19736..fa62531934 100644
--- a/var/spack/repos/builtin/packages/legion/package.py
+++ b/var/spack/repos/builtin/packages/legion/package.py
@@ -62,6 +62,13 @@ class Legion(CMakePackage):
depends_on('papi', when='+papi')
depends_on('zlib', when='+zlib')
+ # A C++ standard variant to work-around some odd behaviors with apple-clang
+ # but this might be helpful for other use cases down the road. Legion's
+ # current development policy is C++11 or greater so we capture that aspect
+ # here.
+ cpp_stds = ["11", "14", "17", "20"]
+ variant('cxxstd', default="11", values=cpp_stds, multi=False)
+
# TODO: Need a AMD/HIP variant to match support landing in 21.03.0.
# Network transport layer: the underlying data transport API should be used for
@@ -201,7 +208,10 @@ class Legion(CMakePackage):
def cmake_args(self):
spec = self.spec
cmake_cxx_flags = []
- options = []
+ from_variant = self.define_from_variant
+ options = [
+ from_variant("CMAKE_CXX_STANDARD", "cxxstd")
+ ]
if 'network=gasnet' in spec:
options.append('-DLegion_NETWORKS=gasnetex')