[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).
This commit is contained in:
@@ -30,3 +30,11 @@ endif()
|
|||||||
if(POLICY CMP0147)
|
if(POLICY CMP0147)
|
||||||
cmake_policy(SET CMP0147 NEW)
|
cmake_policy(SET CMP0147 NEW)
|
||||||
endif()
|
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()
|
||||||
|
|||||||
Reference in New Issue
Block a user