odhcp6c: add -K option to set packet kernel priority
[project/odhcp6c.git] / CMakeLists.txt
index 745fba2de29671c586a58967f72a45f0b52e322f..94f279cc589caf1acbc96285fcc5ace4adb7730d 100644 (file)
@@ -4,9 +4,13 @@ cmake_policy(SET CMP0015 NEW)
 # Project Definition
 project(odhcp6c C)
 set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -std=c99")
-set(LIBUBOX 1 CACHE BOOL "Link with libubox")
-add_definitions(-D_GNU_SOURCE -Wall -Werror -Wextra -pedantic)
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -std=c99")
+add_definitions(-D_GNU_SOURCE -Os -Wall -Werror -pedantic)
+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_PREFIX_CLASS})
        add_definitions(-DEXT_PREFIX_CLASS=${EXT_PREFIX_CLASS})
@@ -17,15 +21,20 @@ if(${EXT_CER_ID})
 endif(${EXT_CER_ID})
 
 set(SOURCES src/odhcp6c.c src/dhcpv6.c src/ra.c src/script.c)
-if(LIBUBOX EQUAL 0)
-       set(SOURCES ${SOURCES} src/md5.c)
-endif()
-add_executable(odhcp6c ${SOURCES})
 
 set(LIBRARIES resolv)
-if(LIBUBOX EQUAL 1)
+
+if(USE_LIBUBOX)
+       add_definitions(-DUSE_LIBUBOX)
        set(LIBRARIES ${LIBRARIES} ubox)
+       FIND_PATH(ubox_include_dir libubox/md5.h)
+       INCLUDE_DIRECTORIES(${ubox_include_dir})
+else()
+       set(SOURCES ${SOURCES} src/md5.c)
 endif()
+
+add_executable(odhcp6c ${SOURCES})
+
 target_link_libraries(odhcp6c ${LIBRARIES})
 
 # Installation