summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2023-01-29 15:53:44 +0100
committerAndreas Schneider <asn@cryptomilk.org>2023-02-01 08:38:44 +0100
commit2df2d3a3ce514387c993735980e58af7468a2d4b (patch)
tree86c3f9bf715bfdb88df627d03f67dd72b8cecd1d
parent91b66f83c8edcce97881bf706a9111b731461225 (diff)
downloadcmocka-2df2d3a3ce514387c993735980e58af7468a2d4b.zip
cmocka-2df2d3a3ce514387c993735980e58af7468a2d4b.tar.gz
cmocka-2df2d3a3ce514387c993735980e58af7468a2d4b.tar.bz2
cmake: Use C99 and define GNU and POSIX flags directly at source files
Fixes #50
-rw-r--r--CompilerChecks.cmake2
-rw-r--r--example/mock/uptime/CMakeLists.txt8
-rw-r--r--src/CMakeLists.txt12
-rw-r--r--tests/CMakeLists.txt2
4 files changed, 20 insertions, 4 deletions
diff --git a/CompilerChecks.cmake b/CompilerChecks.cmake
index 1c4d35b..3dedf7e 100644
--- a/CompilerChecks.cmake
+++ b/CompilerChecks.cmake
@@ -16,7 +16,7 @@ if (UNIX)
endif()
endif()
- add_c_compiler_flag("-std=gnu99" SUPPORTED_COMPILER_FLAGS)
+ add_c_compiler_flag("-std=c99" SUPPORTED_COMPILER_FLAGS)
add_c_compiler_flag("-Wpedantic" SUPPORTED_COMPILER_FLAGS)
add_c_compiler_flag("-Wall" SUPPORTED_COMPILER_FLAGS)
add_c_compiler_flag("-Wshadow" SUPPORTED_COMPILER_FLAGS)
diff --git a/example/mock/uptime/CMakeLists.txt b/example/mock/uptime/CMakeLists.txt
index 967185f..d23ff77 100644
--- a/example/mock/uptime/CMakeLists.txt
+++ b/example/mock/uptime/CMakeLists.txt
@@ -1,7 +1,11 @@
add_library(proc_uptime proc_uptime.c)
add_executable(uptime uptime.c)
-target_compile_options(uptime PRIVATE ${DEFAULT_C_COMPILE_FLAGS})
+target_compile_options(uptime
+ PRIVATE
+ ${DEFAULT_C_COMPILE_FLAGS}
+ -D_GNU_SOURCE
+ -D_XOPEN_SOURCE=600)
target_link_libraries(uptime proc_uptime)
set_property(TARGET
uptime
@@ -11,7 +15,7 @@ set_property(TARGET
add_cmocka_test(test_uptime
SOURCES test_uptime.c
- COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS}
+ COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE -D_XOPEN_SOURCE=600
LINK_LIBRARIES cmocka::cmocka)
set_property(TARGET
test_uptime
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9a1e582..0fbf2d4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -33,6 +33,12 @@ target_compile_options(cmocka
PRIVATE
${DEFAULT_C_COMPILE_FLAGS}
-DHAVE_CONFIG_H)
+
+target_compile_definitions(cmocka
+ PRIVATE
+ _GNU_SOURCE
+ _XOPEN_SOURCE=700)
+
if (CMOCKA_PLATFORM_INCLUDE)
target_compile_options(cmocka
PRIVATE
@@ -80,6 +86,12 @@ if (UNIT_TESTING)
PRIVATE
${DEFAULT_C_COMPILE_FLAGS}
-DHAVE_CONFIG_H)
+
+ target_compile_definitions(cmocka-static
+ PRIVATE
+ _GNU_SOURCE
+ _XOPEN_SOURCE=700)
+
if (CMOCKA_PLATFORM_INCLUDE)
target_compile_options(cmocka-static
PRIVATE
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index cd82d4a..b1b3d64 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -58,7 +58,7 @@ endif()
foreach(_CMOCKA_TEST ${CMOCKA_TESTS})
add_cmocka_test(${_CMOCKA_TEST}
SOURCES ${_CMOCKA_TEST}.c
- COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS}
+ COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} -D_GNU_SOURCE -D_XOPEN_SOURCE=700
LINK_LIBRARIES cmocka::static
LINK_OPTIONS ${DEFAULT_LINK_FLAGS})
target_include_directories(${_CMOCKA_TEST} PRIVATE ${cmocka_BINARY_DIR})