odhcp6c: add -K option to set packet kernel priority
[project/odhcp6c.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8)
2 cmake_policy(SET CMP0015 NEW)
3
4 # Project Definition
5 project(odhcp6c C)
6 set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
7 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -std=c99")
8 add_definitions(-D_GNU_SOURCE -Os -Wall -Werror -pedantic)
9 IF(CMAKE_C_COMPILER_VERSION VERSION_GREATER 6)
10 add_definitions(-Wextra -Werror=implicit-function-declaration)
11 add_definitions(-Wformat -Werror=format-security -Werror=format-nonliteral)
12 ENDIF()
13 add_definitions(-Wno-unused-parameter -Wmissing-declarations)
14
15 if(${EXT_PREFIX_CLASS})
16 add_definitions(-DEXT_PREFIX_CLASS=${EXT_PREFIX_CLASS})
17 endif(${EXT_PREFIX_CLASS})
18
19 if(${EXT_CER_ID})
20 add_definitions(-DEXT_CER_ID=${EXT_CER_ID})
21 endif(${EXT_CER_ID})
22
23 set(SOURCES src/odhcp6c.c src/dhcpv6.c src/ra.c src/script.c)
24
25 set(LIBRARIES resolv)
26
27 if(USE_LIBUBOX)
28 add_definitions(-DUSE_LIBUBOX)
29 set(LIBRARIES ${LIBRARIES} ubox)
30 FIND_PATH(ubox_include_dir libubox/md5.h)
31 INCLUDE_DIRECTORIES(${ubox_include_dir})
32 else()
33 set(SOURCES ${SOURCES} src/md5.c)
34 endif()
35
36 add_executable(odhcp6c ${SOURCES})
37
38 target_link_libraries(odhcp6c ${LIBRARIES})
39
40 # Installation
41 install(TARGETS odhcp6c DESTINATION sbin/)
42
43 # Packaging information
44 set(CPACK_PACKAGE_VERSION "1")
45 set(CPACK_PACKAGE_CONTACT "Steven Barth <steven@midlink.org>")
46 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "6ac")
47 set(CPACK_GENERATOR "DEB;RPM;STGZ")
48 set(CPACK_STRIP_FILES true)
49
50 SET(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
51 set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}_${CPACK_DEBIAN_PACKAGE_VERSION}")
52
53 include(CPack)
54