diff options
-rw-r--r-- | CompilerChecks.cmake | 9 | ||||
-rw-r--r-- | example/uptime/CMakeLists.txt | 14 | ||||
-rw-r--r-- | src/CMakeLists.txt | 40 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 5 |
4 files changed, 46 insertions, 22 deletions
diff --git a/CompilerChecks.cmake b/CompilerChecks.cmake index 4d5ef02..be428dc 100644 --- a/CompilerChecks.cmake +++ b/CompilerChecks.cmake @@ -65,10 +65,18 @@ if (UNIX) check_c_compiler_flag_ssp("-fstack-protector-strong" WITH_STACK_PROTECTOR_STRONG) if (WITH_STACK_PROTECTOR_STRONG) list(APPEND SUPPORTED_COMPILER_FLAGS "-fstack-protector-strong") + # This is needed as Solaris has a seperate libssp + if (SOLARIS) + list(APPEND SUPPORTED_LINKER_FLAGS "-fstack-protector-strong") + endif() else (WITH_STACK_PROTECTOR_STRONG) check_c_compiler_flag_ssp("-fstack-protector" WITH_STACK_PROTECTOR) if (WITH_STACK_PROTECTOR) list(APPEND SUPPORTED_COMPILER_FLAGS "-fstack-protector") + # This is needed as Solaris has a seperate libssp + if (SOLARIS) + list(APPEND SUPPORTED_LINKER_FLAGS "-fstack-protector") + endif() endif() endif (WITH_STACK_PROTECTOR_STRONG) @@ -100,3 +108,4 @@ if (OSX) endif() set(DEFAULT_C_COMPILE_FLAGS ${SUPPORTED_COMPILER_FLAGS} CACHE INTERNAL "Default C Compiler Flags" FORCE) +set(DEFAULT_LINK_FLAGS ${SUPPORTED_LINKER_FLAGS} CACHE INTERNAL "Default C Linker Flags" FORCE) diff --git a/example/uptime/CMakeLists.txt b/example/uptime/CMakeLists.txt index 99924bd..cab1e88 100644 --- a/example/uptime/CMakeLists.txt +++ b/example/uptime/CMakeLists.txt @@ -9,13 +9,19 @@ add_library(proc_uptime proc_uptime.c) add_executable(uptime uptime.c) target_compile_options(uptime PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) target_link_libraries(uptime proc_uptime) +set_property(TARGET + uptime + PROPERTY + LINK_FLAGS + "${DEFAULT_LINK_FLAGS}") add_executable(test_uptime test_uptime.c) target_compile_options(test_uptime PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) target_link_libraries(test_uptime ${CMOCKA_SHARED_LIBRARY}) - -set_target_properties(test_uptime - PROPERTIES - LINK_FLAGS "-Wl,--wrap=uptime") +set_property(TARGET + test_uptime + PROPERTY + LINK_FLAGS + "${DEFAULT_LINK_FLAGS} -Wl,--wrap=uptime") add_test(test_uptime ${CMAKE_CURRENT_BINARY_DIR}/test_uptime) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1a3d3be..e98bb82 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,14 +52,17 @@ if (CMOCKA_PLATFORM_INCLUDE) endif() target_link_libraries(${CMOCKA_SHARED_LIBRARY} ${CMOCKA_LINK_LIBRARIES}) -set_target_properties( - ${CMOCKA_SHARED_LIBRARY} - PROPERTIES - OUTPUT_NAME - cmocka - DEFINE_SYMBOL - CMOCKA_EXPORTS -) +set_property(TARGET + ${CMOCKA_SHARED_LIBRARY} + PROPERTY + OUTPUT_NAME + cmocka + PROPERTY + DEFINE_SYMBOL + CMOCKA_EXPORTS + PROPERTY + LINKER_FLAGS + "${DEFAULT_LINK_FLAGS}") if (NOT WIN32) set_target_properties( @@ -99,16 +102,17 @@ if (WITH_STATIC_LIB) -DCMOCKA_PLATFORM_INCLUDE) endif() - set_target_properties( - ${CMOCKA_STATIC_LIBRARY} - PROPERTIES - VERSION - ${LIBRARY_VERSION} - SOVERSION - ${LIBRARY_SOVERSION} - OUTPUT_NAME - cmocka - ) + set_property(TARGET + ${CMOCKA_STATIC_LIBRARY} + PROPERTY + OUTPUT_NAME + cmocka + PROPERTY + DEFINE_SYMBOL + CMOCKA_EXPORTS + PROPERTY + LINK_FLAGS + "${DEFAULT_LINK_FLAGS}") if (NOT WIN32) set_target_properties( diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d89a71e..33d2578 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -24,6 +24,11 @@ foreach(_CMOCKA_TEST ${CMOCKA_TESTS}) add_cmocka_test(${_CMOCKA_TEST} ${_CMOCKA_TEST}.c ${CMOCKA_STATIC_LIBRARY}) target_include_directories(${_CMOCKA_TEST} PRIVATE ${cmocka_BINARY_DIR}) target_compile_options(${_CMOCKA_TEST} PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) + set_property(TARGET + ${_CMOCKA_TEST} + PROPERTY + LINK_FLAGS + "${DEFAULT_LINK_FLAGS}") endforeach() ### Special Cases |