72 lines
2.0 KiB
CMake
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})
|