add_library(defaults INTERFACE) instead of DEFAULT_C_COMPILE_FLAGS
authorPavel Filipenský <pfilipensky@samba.org>
Fri, 9 Sep 2022 08:43:25 +0000 (10:43 +0200)
committerAndreas Schneider <asn@samba.org>
Fri, 21 Oct 2022 08:01:11 +0000 (10:01 +0200)
Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
CompilerChecks.cmake
src/CMakeLists.txt
tests/CMakeLists.txt

index 4fa1a83d16fdf7a7468926e0bb13e07e4f1fec6f..c376b2a03b2f38fac106dd17b8e150e284a2be48 100644 (file)
@@ -106,9 +106,10 @@ if (MSVC)
     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()
index 1613f6b146eeeacdebfb2f968b2679aea5842d3e..9dea0829985d01f98284a0660792b4389c3ec469 100644 (file)
@@ -6,20 +6,14 @@ target_include_directories(priv_wrapper
                                ${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}
index a12d4902d6963ae5375235fa92f0a1e90f8e30c3..8473174abef3c63ee98860cb3a7e70ba6043b8d0 100644 (file)
@@ -58,8 +58,7 @@ endfunction()
 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()