diff options
| author | Evan Wilde <ewilde@apple.com> | 2024-11-06 10:34:48 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-06 10:34:48 -0800 |
| commit | cb90d5b3ef463f0a471f9c6d39978c3764021dea (patch) | |
| tree | ee36c1d1af2c7f3d1c912e66e56e1fb2428d82e0 /cmake | |
| parent | aae5a38e4e5121e340541794404eb62f26e66bf0 (diff) | |
[CMake] Enable CMP0156 if available (#115046)
Some linkers do not require that libraries are repeated on the command
line. The Apple linker emits warnings when duplicate libraries are
specified, resulting in a wall of warnings.
CMP0156 deduplicates libraries on the command line when the linker
doesn't require them.
This patch enables CMP0156 to quiet the warnings when using a version of
CMake that recognizes it (CMake 3.29 and newer).
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/Modules/CMakePolicy.cmake | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cmake/Modules/CMakePolicy.cmake b/cmake/Modules/CMakePolicy.cmake index f19dfd716571..d561556b2830 100644 --- a/cmake/Modules/CMakePolicy.cmake +++ b/cmake/Modules/CMakePolicy.cmake @@ -30,3 +30,11 @@ endif() if(POLICY CMP0147) cmake_policy(SET CMP0147 NEW) endif() + +# CMP0156: De-duplicate libraries on link lines based on linker capabilities. +# New in CMake 3.29: https://cmake.org/cmake/help/latest/policy/CMP0156.html +# Avoids the deluge of 'ld: warning: ignoring duplicate libraries' warnings when +# building with the Apple linker. +if(POLICY CMP0156) + cmake_policy(SET CMP0156 NEW) +endif() |
