Skip to content
Snippets Groups Projects

Fix warnings about duplicate libs when linking

Merged Florian Uhlig requested to merge f.uhlig/cbmroot:fix_warnings_macosx into master
@@ -228,6 +228,44 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
# Suppress warnings about duplicate libraries in the call of the
# linker
# Need to check the XCode/CommandLineTools version since the
# warning is only available since XCode 15
execute_process(COMMAND xcode-select -p
OUTPUT_VARIABLE XCODE_PATH
)
string(FIND ${XCODE_PATH} "CommandLineTools" CLT_IS_AVAILABLE)
if(${CLT_IS_AVAILABLE} GREATER_EQUAL 0) # CommandLineTools are installed
execute_process(COMMAND pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
COMMAND grep version
OUTPUT_VARIABLE CLT_VERSION_INFO
)
string(REGEX MATCH ".*[ ]([0-9]+)\\.([0-9]+)\\.([0-9]+).*" _version_matches "${CLT_VERSION_INFO}")
set(CLT_VERSION ${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3})
if (${CLT_VERSION} VERSION_GREATER 15.0.0)
set(_suppress_linker_warnings TRUE)
message(STATUS "Found CLT ${CLT_VERSION} > 15.0.0. Suppress linker warnings on macosx")
endif()
else()
execute_process(COMMAND /usr/bin/xcodebuild -version
OUTPUT_VARIABLE XCODE_VERSION_INFO
)
string(REGEX MATCH "Xcode[ ]([0-9]+)\\.([0-9]+).*" _version_matches "${XCODE_VERSION_INFO}")
set(XCODE_VERSION ${CMAKE_MATCH_1}.${CMAKE_MATCH_2})
if (${XCODE_VERSION} VERSION_GREATER 15.0.0)
set(_suppress_linker_warnings TRUE)
message(STATUS "Found XCode ${XCODE_VERSION} > 15.0.0. Suppress linker warnings on macosx")
endif()
endif()
if(_suppress_linker_warnings)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,-no_warn_duplicate_libraries")
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-no_warn_duplicate_libraries")
endif()
else (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
Message("CXX Compiler: ${CMAKE_CXX_COMPILER}")
Message("CXX Compiler ABI: ${CMAKE_CXX_COMPILER_ABI}")
Loading