1 cmake_minimum_required(VERSION 3.13) 2 3 4 # Project Definition 5 project(omcproxy LANGUAGES C) 6 add_executable(${PROJECT_NAME}) 7 target_sources(${PROJECT_NAME} PRIVATE 8 src/client.c 9 src/groups.c 10 src/igmp.c 11 src/mld.c 12 src/mrib.c 13 src/omcproxy.c 14 src/proxy.c 15 src/querier.c 16 ) 17 18 19 # Compiler Options 20 set_target_properties(${PROJECT_NAME} PROPERTIES C_STANDARD 11) 21 target_compile_definitions(${PROJECT_NAME} PRIVATE _GNU_SOURCE) 22 target_compile_options(${PROJECT_NAME} PRIVATE -g3) 23 target_compile_options(${PROJECT_NAME} PRIVATE -Os) 24 target_compile_options(${PROJECT_NAME} PRIVATE -Wall) 25 target_compile_options(${PROJECT_NAME} PRIVATE -Werror) 26 target_compile_options(${PROJECT_NAME} PRIVATE -Wextra) 27 target_compile_options(${PROJECT_NAME} PRIVATE -Werror=implicit-function-declaration) 28 target_compile_options(${PROJECT_NAME} PRIVATE -Wformat) 29 target_compile_options(${PROJECT_NAME} PRIVATE -Werror=format-security) 30 target_compile_options(${PROJECT_NAME} PRIVATE -Werror=format-nonliteral) 31 target_compile_options(${PROJECT_NAME} PRIVATE -Wno-unused-parameter) 32 target_compile_options(${PROJECT_NAME} PRIVATE -Wmissing-declarations) 33 34 35 # Libraries 36 find_path(ubox_include_dir libubox/uloop.h) 37 target_include_directories(${PROJECT_NAME} PRIVATE ${ubox_include_dir}) 38 find_library(libubox ubox) 39 target_link_libraries(${PROJECT_NAME} PRIVATE ${libubox}) 40 41 42 # Optional Features 43 if(${L_LEVEL}) 44 target_compile_definitions(${PROJECT_NAME} PRIVATE L_LEVEL=${L_LEVEL}) 45 endif(${L_LEVEL}) 46 47 48 # Installation 49 install(TARGETS ${PROJECT_NAME} DESTINATION sbin/)
This page was automatically generated by LXR 0.3.1. • OpenWrt