From 52cfd179177412ec772c820dc5e345d17cb83bd1 Mon Sep 17 00:00:00 2001 From: Pat McCormick <651611+pmccormick@users.noreply.github.com> Date: Wed, 5 Jan 2022 11:20:24 -0700 Subject: 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. --- var/spack/repos/builtin/packages/legion/package.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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') -- cgit v1.2.3-60-g2f50