• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/odhcp6c/CMakeLists.txt

  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