diff --git a/CMakeLists.txt b/CMakeLists.txt index d451383..97eeee9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 2.8.5) project(libsoundio C) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) +include(CheckCCompilerFlag) if(CMAKE_VERSION VERSION_LESS 3.0.0) set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "library install dir (lib)") @@ -217,6 +218,13 @@ configure_file( "${CMAKE_SOURCE_DIR}/src/link_version_script.in" ${LINK_VERSION_SCRIPT} ) +set(VERSION_SCRIPT_FLAG "-Wl,--version-script='${LINK_VERSION_SCRIPT}'") +check_c_compiler_flag("${VERSION_SCRIPT_FLAG}" VERSION_SCRIPT_OK) +if (VERSION_SCRIPT_OK) + set(SHARED_LINK_FLAGS "${VERSION_SCRIPT_FLAG}") +else() + set(SHARED_LINK_FLAGS " ") +endif() add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES} ${LINK_VERSION_SCRIPT}) set_target_properties(libsoundio_shared PROPERTIES @@ -225,7 +233,7 @@ set_target_properties(libsoundio_shared PROPERTIES VERSION ${LIBSOUNDIO_VERSION} COMPILE_FLAGS ${LIB_CFLAGS} LINKER_LANGUAGE C - LINK_FLAGS "-Wl,--version-script='${LINK_VERSION_SCRIPT}'" + LINK_FLAGS "${SHARED_LINK_FLAGS}" ) target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS}) install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})