1
0
mirror of https://github.com/pavel-odintsov/fastnetmon synced 2024-11-24 02:46:36 +01:00
fastnetmon-rewritten/CMakeLists.txt

74 lines
1.9 KiB
CMake
Raw Normal View History

cmake_minimum_required (VERSION 2.8)
2014-11-28 15:58:12 +01:00
# cmake versions:
# Debian 6 - 2.8.2
# Debian 7 - 2.8.9
# CentOS 6 - 2.8.12
project(FastNetMon)
set (Tutorial_VERSION_MAJOR 1)
2014-11-28 15:58:12 +01:00
set (Tutorial_VERSION_MINOR 1)
# It's pretty safe and provide big speedup for our packet processor and patricia code
set(CMAKE_C_FLAGS "-O2")
set(CMAKE_CXX_FLAGS "-O2")
2014-11-28 15:58:12 +01:00
# Set path to home compiled PF_RING
set(PFRING_INCLUDE_DIRS /opt/pf_ring/include)
set(PFRING_LIBRARIES /opt/pf_ring/lib/libpfring.so)
# Some defines for FastNetMon compiation tuning
add_definitions(-DPF_RING)
# If you need hardware locking features
# add_definitions(-DHWFILTER_LOCKING)
2014-11-28 15:58:12 +01:00
# Our LPM library
2014-12-16 09:01:07 +01:00
add_library(patricia STATIC libpatricia/patricia.c)
# Our sFLOW plugin
2014-12-01 22:08:38 +01:00
add_library(sflow_plugin STATIC sflow_plugin/sflow_collector.cpp)
2014-11-28 15:58:12 +01:00
# Main tool
add_executable(fastnetmon fastnetmon.cpp)
# Find boost: http://www.cmake.org/cmake/help/v3.0/module/FindBoost.html
2014-12-01 09:09:37 +01:00
# Disable cmake script from Boost package becaus it is broken: http://public.kitware.com/Bug/view.php?id=15270
set(Boost_NO_BOOST_CMAKE ON)
# Enable detailed errors
2014-11-28 15:58:12 +01:00
set(Boost_DETAILED_FAILURE_MSG ON)
2014-12-01 09:09:37 +01:00
2014-11-28 15:58:12 +01:00
find_package(Boost COMPONENTS thread regex REQUIRED)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(fastnetmon ${Boost_LIBRARIES})
endif()
2014-11-28 15:58:12 +01:00
# Try to find ncurses library
find_package(Curses REQUIRED)
if(CURSES_FOUND)
include_directories(${CURSES_INCLUDE_DIRS})
target_link_libraries(fastnetmon ${CURSES_LIBRARIES})
endif()
# External libs
target_link_libraries(fastnetmon log4cpp)
target_link_libraries(fastnetmon numa)
target_link_libraries(fastnetmon pthread)
# For PF_RING
target_link_libraries(fastnetmon pcap)
2014-11-28 15:58:12 +01:00
# Our libs
2014-12-16 09:01:07 +01:00
target_link_libraries(fastnetmon patricia)
2014-12-01 22:08:38 +01:00
# Our plugins
target_link_libraries(fastnetmon sflow_plugin)
2014-11-28 15:58:12 +01:00
# Custom PF_RING
include_directories(${PFRING_INCLUDE_DIRS})
target_link_libraries(fastnetmon ${PFRING_LIBRARIES})