cmake: enforce additonal compiler checks
[project/odhcpd.git] / CMakeLists.txt
index 3c3e0aef9cec199338b3f1674de6d208ee732a51..828fa71d13e57504614305612531cae0e25abb7c 100644 (file)
@@ -5,7 +5,7 @@ cmake_policy(SET CMP0015 NEW)
 project(odhcpd C)
 
 set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
 project(odhcpd C)
 
 set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -std=gnu99")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -std=gnu99")
 
 FIND_PATH(ubox_include_dir libubox/uloop.h)
 FIND_PATH(libnl-tiny_include_dir netlink-generic.h PATH_SUFFIXES libnl-tiny)
 
 FIND_PATH(ubox_include_dir libubox/uloop.h)
 FIND_PATH(libnl-tiny_include_dir netlink-generic.h PATH_SUFFIXES libnl-tiny)
@@ -13,7 +13,13 @@ INCLUDE_DIRECTORIES(${ubox_include_dir} ${libnl-tiny_include_dir})
 
 FIND_LIBRARY(libnl NAMES nl-tiny)
 
 
 FIND_LIBRARY(libnl NAMES nl-tiny)
 
-add_definitions(-D_GNU_SOURCE --std=gnu99 -Wall -Werror -Wextra -Wmissing-declarations -Wno-unused-parameter)
+add_definitions(-D_GNU_SOURCE -Os -Wall -Werror --std=gnu99)
+IF(CMAKE_C_COMPILER_VERSION VERSION_GREATER 6)
+       add_definitions(-Wextra -Werror=implicit-function-declaration)
+       add_definitions(-Wformat -Werror=format-security -Werror=format-nonliteral)
+ENDIF()
+add_definitions(-Wno-unused-parameter -Wmissing-declarations)
+
 
 if (${EXT_CER_ID})
        add_definitions(-DEXT_CER_ID=${EXT_CER_ID})
 
 if (${EXT_CER_ID})
        add_definitions(-DEXT_CER_ID=${EXT_CER_ID})