add_c_compiler_flag("/D _CRT_SECURE_NO_WARNINGS=1" SUPPORTED_COMPILER_FLAGS)
endif()
+add_library(defaults INTERFACE)
if (SUPPORTED_COMPILER_FLAGS)
- set(DEFAULT_C_COMPILE_FLAGS ${SUPPORTED_COMPILER_FLAGS} CACHE INTERNAL "Default C Compiler Flags" FORCE)
+ target_compile_options(defaults INTERFACE ${SUPPORTED_COMPILER_FLAGS})
endif()
if (SUPPORTED_LINKER_FLAGS)
- set(DEFAULT_LINK_FLAGS ${SUPPORTED_LINKER_FLAGS} CACHE INTERNAL "Default C Linker Flags" FORCE)
+ target_link_options(defaults INTERFACE ${SUPPORTED_LINKER_FLAGS})
endif()
${CMAKE_BINARY_DIR})
target_compile_options(priv_wrapper
PRIVATE
- ${DEFAULT_C_COMPILE_FLAGS}
-D_GNU_SOURCE)
target_link_libraries(priv_wrapper
- PRIVATE ${PWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ PRIVATE defaults ${PWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(priv_wrapper
PROPERTIES
VERSION ${LIBRARY_VERSION}
SOVERSION ${LIBRARY_SOVERSION})
-if (DEFINED DEFAULT_LINK_FLAGS)
- set_target_properties(priv_wrapper
- PROPERTIES
- LINK_FLAGS ${DEFAULT_LINK_FLAGS})
-endif()
install(TARGETS priv_wrapper
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
foreach(_PWRAP_TEST ${PWRAP_TESTS})
add_cmocka_test(${_PWRAP_TEST}
SOURCES ${_PWRAP_TEST}.c
- COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE
- LINK_LIBRARIES cmocka
- LINK_OPTIONS ${DEFAULT_LINK_FLAGS})
+ COMPILE_OPTIONS -D_GNU_SOURCE
+ LINK_LIBRARIES cmocka PRIVATE defaults)
add_cmocka_test_environment(${_PWRAP_TEST})
endforeach()