bpfc: add MOD BPF operation
[netsniff-ng.git] / src / CMakeLists.txt
blob4ba4ed3899a39f25a5b413dd8fdf969f0ed3246f
1 project(netsniff-ng-suite C)
3 cmake_minimum_required(VERSION 2.6)
5 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
6 set(EXECUTABLE_INSTALL_PATH /usr/sbin)
7 set(CONFIG_INSTALL_PATH /etc/netsniff-ng)
8 set(DOC_INSTALL_PATH share/doc/netsniff-ng)
10 set(VERSION "0.5.8")
12 include(CheckBPFAttach)
13 include(CheckPFPacket)
14 include(CheckStrictAlign)
15 include(CheckTxRing)
16 include(CheckHwTimestamp)
17 include(CheckGeoIpv6)
19 include(Pod2Man)
21 add_definitions(
22   -O3
23   -fstack-protector
24   --param=ssp-buffer-size=4
25   -fpie
26   -std=gnu99
27   -fno-strict-aliasing
28   -fexceptions
29   -fasynchronous-unwind-tables
30   -fno-delete-null-pointer-checks
31   -D_FORTIFY_SOURCE=2
32   -D_REENTRANT
33   -march=native
34   -mtune=native
35   -Wall
36   -Wmissing-prototypes
37 #  -Wstrict-prototypes
38   -Wdeclaration-after-statement
39   -Werror-implicit-function-declaration
40   -Wundef
41   -Wformat=2
44 if(CMAKE_BUILD_TYPE STREQUAL pedantic)
45   add_definitions(
46     -Wextra
47     -Werror
48   )
49 endif(CMAKE_BUILD_TYPE STREQUAL pedantic)
51 if(CMAKE_BUILD_TYPE STREQUAL profile)
52   add_definitions(
53     -g
54     -pg
55   )
56 endif(CMAKE_BUILD_TYPE STREQUAL profile)
58 enable_testing()
60 add_manpage_target()
62 include_directories(.)
64 add_subdirectory(netsniff-ng)
65 add_subdirectory(trafgen)
66 add_subdirectory(mausezahn)
67 add_subdirectory(bpfc)
68 add_subdirectory(ifpps)
69 add_subdirectory(flowtop)
70 add_subdirectory(astraceroute)
71 add_subdirectory(curvetun)
73 install(
74   FILES ../Documentation/RelNotes/Notes-0.5.6
75         ../Documentation/RelNotes/Notes-0.5.7
76   DESTINATION ${DOC_INSTALL_PATH}
79 install(
80   FILES ../Documentation/FurtherReading
81         ../Documentation/IPv6Notes
82         ../Documentation/KnownIssues
83         ../Documentation/Performance
84         ../Documentation/RelatedWork
85         ../Documentation/Sponsors
86   DESTINATION ${DOC_INSTALL_PATH}