cmake_minimum_required(VERSION 3.3) project(di-dinetrpcll-sniffer CXX C) set(PROJECT_BRIEF "DI-Net RPC Lowlevel Sniffer") set(PROJECT_APP_NAME "di-dinetrpcll-sniffer") # CMake configuration if (CMAKE_BUILD_TYPE STREQUAL "Debug") include("common/cmake/MemCheck.txt") include(CTest) endif() include(ExternalProject) # Enable sniffing as non-root with capabilities(7) set(CPACK_DEBIAN_INSTALL_POSTINST_EXTRA "setcap cap_net_raw,cap_net_admin=eip /usr/bin/${PROJECT_APP_NAME}" ) include("common/cmake/CMakeLists.txt") find_package(Libdi REQUIRED assert) find_package(Boost REQUIRED regex) include("${DI_COMMON_CMAKE_DIR}/libs/libdipp_main.txt") include_directories(SYSTEM ${Libdi_INCLUDE_DIRS}) add_definitions(-DLIBDI_HAS_STDIO_PRINTF) set(LIBTINS_BUILD_EXAMPLES OFF CACHE BOOL "libtins build examples off") set(LIBTINS_BUILD_TESTS OFF CACHE BOOL "libtins build tests off") set(LIBTINS_ENABLE_DOT11 OFF CACHE BOOL "libtins disable dot11") set(LIBTINS_ENABLE_WPA2 OFF CACHE BOOL "libtins disable wpa2") add_subdirectory(libtins) add_subdirectory(etc) include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/include/server" "${CMAKE_BINARY_DIR}/include" "${libdipp_include_dir}" "${CMAKE_CURRENT_SOURCE_DIR}/libtins/include" ) aux_source_directory(src SRC) aux_source_directory(src/server SRC) set(LIBTINS_BUILD_SHARED 0) add_executable(${PROJECT_APP_NAME} ${SRC}) install( TARGETS ${PROJECT_APP_NAME} DESTINATION usr/bin COMPONENT applications ) if (BUILD_TESTING) enable_linting() endif() find_package(Threads REQUIRED) add_dependencies(${PROJECT_NAME} ${Libdi_LIBRARY} libdipp) target_link_libraries(${PROJECT_NAME} ${libdipp_main_library}) target_link_libraries(${PROJECT_NAME} ${libdipp_libraries}) target_link_libraries(${PROJECT_NAME} ${Libdi_LIBRARY}) target_link_libraries(${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries(${PROJECT_NAME} tins) target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})