src: make mausezahn build, lots of cleanups on todo
[netsniff-ng.git] / src / mausezahn / CMakeLists.txt
blob88eff42feb3cee9a4797e6efa74768329876cdc1
1 project(mausezahn C)
3 set(BUILD_STRING "generic")
5 find_package(LibCLI)
6 find_package(Threads)
7 find_package(PCAP)
8 include(Pod2Man)
10 if(LIBCLI_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND HAVE_LIBPCAP)
11   add_executable(
12     ${PROJECT_NAME}
13     ../mausezahn.c
14     ../layer1.c
15     ../layer2.c
16     ../layer3.c
17     ../layer4.c
18     ../init.c
19     ../hextools.c
20     ../tools.c
21     ../lookupdev.c
22     ../time.c
23     ../modifications.c
24     ../send_eth.c
25     ../send.c
26     ../cdp.c 
27     ../rtp.c 
28     ../dns.c 
29     ../rcv_rtp.c
30     ../syslog.c
31     ../cli.c
32     ../cli_cmds.c
33     ../cli_launch.c
34     ../cli_legacy.c
35     ../cli_packet.c
36     ../cli_interface.c
37     ../cli_set.c
38     ../cli_dns.c
39     ../cli_arp.c        
40     ../cli_bpdu.c
41     ../cli_eth.c
42     ../cli_ip.c
43     ../cli_udp.c
44     ../cli_tcp.c
45     ../cli_rtp.c
46     ../cli_tools.c
47     ../tx_switch.c
48     ../mops.c
49     ../mops_update.c
50     ../mops_tools.c
51     ../mops_checksums.c
52     ../mops_threads.c
53     ../mops_dot1Q.c
54     ../mops_mpls.c
55     ../mops_ip.c
56     ../mops_tcp.c
57     ../mops_ext.c
58     ../mops_ext_arp.c
59     ../mops_ext_bpdu.c
60     ../mops_ext_rtp.c
61     ../parse_xml.c
62     ../automops.c
63     ../mopsrx_arp.c
64     ../mops_ext_igmp.c
65     ../mops_ext_lldp.c
66     ../cli_igmp.c
67     ../cli_lldp.c
68     ../cli_sequence.c
69     ../mops_sequence.c
70     ../llist.c
71     ../directmops.c
72   )
74   add_definitions(
75     -DPROGNAME_STRING="${PROJECT_NAME}"
76     -DVERSION_STRING="${VERSION}"
77     -DBUILD_STRING="${BUILD_STRING}"
78   )
80   target_link_libraries(
81     ${PROJECT_NAME}
82     ${LIBCLI_LIBRARY}
83     ${CMAKE_THREAD_LIBS_INIT}
84     ${PCAP_LIBRARY}
85     -lnet -lrt -lm
86   )
88   pod2man(
89     ${CMAKE_SOURCE_DIR}/../Documentation/Manpages/${PROJECT_NAME}.8
90     ${PROJECT_NAME} 8
91   )
93   install(
94     TARGETS ${PROJECT_NAME}
95     DESTINATION ${EXECUTABLE_INSTALL_PATH}
96   )
98   install(
99     FILES ../../Documentation/Mausezahn
100     DESTINATION ${DOC_INSTALL_PATH}
101   )
102 else(LIBCLI_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND HAVE_LIBPCAP)
103   if(NOT CMAKE_HAVE_PTHREAD_CREATE)
104     message("libpthread is missing on target. Skipping ${PROJECT_NAME} build.")
105   endif(NOT CMAKE_HAVE_PTHREAD_CREATE)
107   if(NOT LIBCLI_FOUND)
108     message("libcli is missing on target. Skipping ${PROJECT_NAME} build.")
109   endif(NOT LIBCLI_FOUND)
110 endif(LIBCLI_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND HAVE_LIBPCAP)