summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Marsh <chrismarsh.c2@gmail.com>2024-08-29 12:49:53 -0600
committerGitHub <noreply@github.com>2024-08-29 18:49:53 +0000
commitcade66d842a894075938bc5528475d9fcd8bd559 (patch)
tree5ebf8e3f26aaa99ab63f51d088cd1351b93673c5 /lib
parentc5766aa7578831b85e286eb2bfb321ed2232d24d (diff)
downloadspack-cade66d842a894075938bc5528475d9fcd8bd559.tar.gz
spack-cade66d842a894075938bc5528475d9fcd8bd559.tar.bz2
spack-cade66d842a894075938bc5528475d9fcd8bd559.tar.xz
spack-cade66d842a894075938bc5528475d9fcd8bd559.zip
CMakePackage: Set policy CMP0042 NEW on macos (#46114)
so linking to shared libraries works well at runtime on darwin for all packages with cmake_minimum_required < 3.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/build_systems/cmake.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/spack/spack/build_systems/cmake.py b/lib/spack/spack/build_systems/cmake.py
index a64904715e..10949e7949 100644
--- a/lib/spack/spack/build_systems/cmake.py
+++ b/lib/spack/spack/build_systems/cmake.py
@@ -108,6 +108,11 @@ def _conditional_cmake_defaults(pkg: spack.package_base.PackageBase, args: List[
if _supports_compilation_databases(pkg):
args.append(CMakeBuilder.define("CMAKE_EXPORT_COMPILE_COMMANDS", True))
+ # Enable MACOSX_RPATH by default when cmake_minimum_required < 3
+ # https://cmake.org/cmake/help/latest/policy/CMP0042.html
+ if pkg.spec.satisfies("platform=darwin") and cmake.satisfies("@3:"):
+ args.append(CMakeBuilder.define("CMAKE_POLICY_DEFAULT_CMP0042", "NEW"))
+
def generator(*names: str, default: Optional[str] = None):
"""The build system generator to use.