src.dualinventive.com/jjacobs/dinetrpcll-sniffer/CMakeLists.txt

72 lines
2.0 KiB
CMake

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})