cmake: fix MacOS linking (-rpath, -bind_at_load, -dead_strip, etc.)

This commit is contained in:
xiphon 2020-08-28 17:54:17 +00:00
parent e65159163d
commit 86f5aae63d

View file

@ -238,6 +238,7 @@ if(APPLE)
if(CMAKE_PREFIX_PATH)
include_directories(${CMAKE_PREFIX_PATH}/include)
set(CMAKE_BUILD_RPATH "${CMAKE_PREFIX_PATH}/lib")
endif()
endif()
@ -455,6 +456,11 @@ if (NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VER
endif()
# linker
if (APPLE)
add_linker_flag_if_supported(-Wl,-bind_at_load LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,-dead_strip LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,-dead_strip_dylibs LD_SECURITY_FLAGS)
endif()
if (NOT APPLE AND NOT (WIN32 AND CMAKE_C_COMPILER_ID STREQUAL "GNU"))
# Windows binaries die on startup with PIE when compiled with GCC
add_linker_flag_if_supported(-pie LD_SECURITY_FLAGS)