1 cmake_minimum_required(VERSION 3.13) 2 cmake_policy(SET CMP0015 NEW) 3 4 5 # Project Definition 6 project(odhcp6c LANGUAGES C) 7 add_executable(${PROJECT_NAME}) 8 target_sources(${PROJECT_NAME} PRIVATE 9 src/odhcp6c.c 10 src/dhcpv6.c 11 src/ra.c 12 src/script.c 13 ) 14 15 16 # Compiler Options 17 set_target_properties(${PROJECT_NAME} PROPERTIES C_STANDARD 11) 18 target_compile_definitions(${PROJECT_NAME} PRIVATE _GNU_SOURCE) 19 target_compile_options(${PROJECT_NAME} PRIVATE -g3) 20 target_compile_options(${PROJECT_NAME} PRIVATE -Os) 21 target_compile_options(${PROJECT_NAME} PRIVATE -Wall) 22 target_compile_options(${PROJECT_NAME} PRIVATE -Werror) 23 target_compile_options(${PROJECT_NAME} PRIVATE -pedantic) 24 target_compile_options(${PROJECT_NAME} PRIVATE -Wextra) 25 target_compile_options(${PROJECT_NAME} PRIVATE -Werror=implicit-function-declaration) 26 target_compile_options(${PROJECT_NAME} PRIVATE -Wformat) 27 target_compile_options(${PROJECT_NAME} PRIVATE -Werror=format-security) 28 target_compile_options(${PROJECT_NAME} PRIVATE -Werror=format-nonliteral) 29 target_compile_options(${PROJECT_NAME} PRIVATE -Wno-unused-parameter) 30 target_compile_options(${PROJECT_NAME} PRIVATE -Wmissing-declarations) 31 32 33 # Libraries 34 target_link_libraries(${PROJECT_NAME} PRIVATE resolv) 35 36 if (${USE_LIBUBOX}) 37 target_compile_definitions(${PROJECT_NAME} PRIVATE USE_LIBUBOX) 38 find_path(ubox_include_dir libubox/md5.h) 39 target_include_directories(${PROJECT_NAME} PRIVATE ${ubox_include_dir}) 40 find_library(libubox ubox) 41 target_link_libraries(${PROJECT_NAME} PRIVATE ${libubox}) 42 else (${USE_LIBUBOX}) 43 target_sources(${PROJECT_NAME} PRIVATE src/md5.c) 44 endif(${USE_LIBUBOX}) 45 46 47 # Optional Features 48 if (${EXT_CER_ID}) 49 target_compile_definitions(${PROJECT_NAME} PRIVATE EXT_CER_ID=${EXT_CER_ID}) 50 endif(${EXT_CER_ID}) 51 52 if (${EXT_PREFIX_CLASS}) 53 target_compile_definitions(${PROJECT_NAME} PRIVATE EXT_PREFIX_CLASS=${EXT_PREFIX_CLASS}) 54 endif(${EXT_PREFIX_CLASS}) 55 56 57 # Installation 58 install(TARGETS ${PROJECT_NAME} DESTINATION sbin/) 59 60 61 # Packaging information 62 set(CPACK_PACKAGE_VERSION "1") 63 set(CPACK_PACKAGE_CONTACT "Steven Barth <steven@midlink.org>") 64 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME}") 65 set(CPACK_GENERATOR "DEB;RPM;STGZ") 66 set(CPACK_STRIP_FILES true) 67 SET(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}) 68 set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}_${CPACK_DEBIAN_PACKAGE_VERSION}") 69 include(CPack)
This page was automatically generated by LXR 0.3.1. • OpenWrt