else(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR)
message(STATUS "Assuming unaligned access is supported")
endif(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR)
+
+# should use LINK_OPTIONS instead of LINK_LIBRARIES, if we can use cmake v3.14+
+try_compile(HAVE_LINK_VERSION_SCRIPT
+ ${CMAKE_CURRENT_BINARY_DIR}
+ SOURCES ${CMAKE_CURRENT_LIST_DIR}/CephCheck_link.c
+ LINK_LIBRARIES "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/CephCheck_link.map")
+
+try_compile(HAVE_LINK_EXCLUDE_LIBS
+ ${CMAKE_CURRENT_BINARY_DIR}
+ SOURCES ${CMAKE_CURRENT_LIST_DIR}/CephCheck_link.c
+ LINK_LIBRARIES "-Wl,--exclude-libs,ALL")
VERSION 2.0.0
SOVERSION 2
VISIBILITY_INLINES_HIDDEN ON)
- if(NOT APPLE)
+ if(HAVE_LINK_EXCLUDE_LIBS)
set_property(TARGET librados APPEND_STRING PROPERTY
LINK_FLAGS " -Wl,--exclude-libs,ALL")
+ endif()
+ if(HAVE_LINK_VERSION_SCRIPT)
set_property(TARGET librados APPEND_STRING PROPERTY
LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/librados.map")
endif()