docs: todo: update name assignments
[netsniff-ng.git] / src / flowtop / CMakeLists.txt
blobc2d465c558c3760c0947cf7ddf389ed4b3b60f9d
1 project(flowtop C)
3 set(BUILD_STRING "generic")
5 find_package(LibGeoIP)
6 find_package(Threads)
7 find_package(Curses)
8 find_package(LibNetFilterConnTrack)
9 find_package(LibURCU)
10 include(Pod2Man)
12 if(CURSES_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND LIBGEOIP_FOUND AND
13    LIBNETFILTER_CONNTRACK_FOUND AND LIBURCU_FOUND AND HAVE_GEOIPV6)
15   add_executable(
16     ${PROJECT_NAME}
17     ../xmalloc.c
18     ../oui.c
19     ../xio.c
20     ../xutils.c
21     ../hash.c
22     ../dissector_eth.c
23     ../dissector_80211.c
24     ../dissector.c
25     ../proto_none.c
26     ../tprintf.c
27     ../flowtop.c
28   )
30   add_definitions(
31     -DPROGNAME_STRING="${PROJECT_NAME}"
32     -DVERSION_STRING="${VERSION}"
33     -DBUILD_STRING="${BUILD_STRING}"
34   )
36   target_link_libraries(
37     ${PROJECT_NAME}
38     ${CURSES_NCURSES_LIBRARY}
39     ${CMAKE_THREAD_LIBS_INIT}
40     ${LIBNETFILTER_CONNTRACK_LIBRARY}
41     ${LIBGEOIP_LIBRARY}
42     ${LIBURCU_LIBRARY}
43   )
45   pod2man(
46     ${CMAKE_SOURCE_DIR}/../Documentation/Manpages/${PROJECT_NAME}.8
47     ${PROJECT_NAME} 8
48   )
50   install(
51     TARGETS ${PROJECT_NAME}
52     DESTINATION ${EXECUTABLE_INSTALL_PATH}
53   )
55   install(
56     FILES ../conf/oui.conf ../conf/udp.conf ../conf/tcp.conf ../conf/ether.conf
57     DESTINATION ${CONFIG_INSTALL_PATH}
58   )
60   install(
61     FILES ../../Documentation/Flowtop
62     DESTINATION ${DOC_INSTALL_PATH}
63   )
64 else(CURSES_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND LIBGEOIP_FOUND AND
65      LIBNETFILTER_CONNTRACK_FOUND AND LIBURCU_FOUND AND HAVE_GEOIPV6)
66   if(NOT CURSES_FOUND)
67     message("libncurses is missing on target. Skipping ${PROJECT_NAME} build.")
68   endif(NOT CURSES_FOUND)
70   if(NOT CMAKE_HAVE_PTHREAD_CREATE)
71     message("libpthread is missing on target. Skipping ${PROJECT_NAME} build.")
72   endif(NOT CMAKE_HAVE_PTHREAD_CREATE)
74   if(NOT LIBGEOIP_FOUND)
75     message("libgeoip is missing on target. Skipping ${PROJECT_NAME} build.")
76   endif(NOT LIBGEOIP_FOUND)
78   if(NOT HAVE_GEOIPV6)
79     message("libgeoip is too old on target. Skipping ${PROJECT_NAME} build.")
80   endif(NOT HAVE_GEOIPV6)
82   if(NOT LIBNETFILTER_CONNTRACK_FOUND)
83     message("libnetfilter_conntrack is missing on target. "
84             "Skipping ${PROJECT_NAME} build.")
85   endif(NOT LIBNETFILTER_CONNTRACK_FOUND)
87   if(NOT LIBURCU_FOUND)
88     message("liburcu is missing on target. Skipping ${PROJECT_NAME} build.")
89   endif(NOT LIBURCU_FOUND)
90 endif(CURSES_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND LIBGEOIP_FOUND AND
91       LIBNETFILTER_CONNTRACK_FOUND AND LIBURCU_FOUND AND HAVE_GEOIPV6)