aboutsummaryrefslogtreecommitdiffstats
path: root/capture/CMakeLists.txt
blob: d9378f11bce62d0a752b1d41ec05e63cf311a27e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# CMakeLists.txt
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
# SPDX-License-Identifier: GPL-2.0-or-later
#


if(UNIX)
	set(PLATFORM_CAPUTILS_SRC
		capture-pcap-util-unix.c
	)
endif()

if(WIN32)
	set(PLATFORM_CAPUTILS_SRC
		capture_win_ifnames.c
		capture-wpcap.c
	)
endif()

set(CAPUTILS_SRC
	${PLATFORM_CAPUTILS_SRC}
	capture-pcap-util.c
	iface_monitor.c
	ws80211_utils.c
)

if (AIRPCAP_FOUND)
	set(CAPUTILS_SRC
		${CAPUTILS_SRC}
		airpcap_loader.c
	)
endif()

set_source_files_properties(
	${CAPUTILS_SRC}
	PROPERTIES
	COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
)


add_library(caputils STATIC
	${CAPUTILS_SRC}
)

target_link_libraries(caputils
	PUBLIC
		wsutil
		$<$<BOOL:${PCAP_FOUND}>:pcap::pcap>
	PRIVATE
		${NL_LIBRARIES}
)

target_include_directories(caputils SYSTEM
	PRIVATE
		${NL_INCLUDE_DIRS}
)

if(WIN32)
	target_link_libraries(caputils PRIVATE "iphlpapi.lib")
endif(WIN32)

set_target_properties(caputils PROPERTIES
	LINK_FLAGS "${WS_LINK_FLAGS}"
	FOLDER "Libs")
if(MSVC)
	set_target_properties(caputils PROPERTIES LINK_FLAGS_DEBUG "${WS_MSVC_DEBUG_LINK_FLAGS}")
endif()

set(CAPCHILD_SRC
	capture_ifinfo.c
	capture_sync.c
)

set_source_files_properties(
	${CAPCHILD_SRC}
	PROPERTIES
	COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
)

file(GLOB CAPCHILD_HEADERS capture_session.h)

add_library(capchild STATIC
	${CAPCHILD_SRC}
)

target_link_libraries(capchild
	PRIVATE
		wsutil
		$<$<BOOL:${PCAP_FOUND}>:pcap::pcap>
)

set_target_properties(capchild PROPERTIES
	LINK_FLAGS "${WS_LINK_FLAGS}"
	FOLDER "Libs")
if(MSVC)
	set_target_properties(capchild PROPERTIES LINK_FLAGS_DEBUG "${WS_MSVC_DEBUG_LINK_FLAGS}")
endif()

CHECKAPI(
	NAME
	  caputils-base
	SWITCHES
	SOURCES
	  ${CAPUTILS_SRC}
)
CHECKAPI(
	NAME
	  caputils-todo
	SWITCHES
	  -M
	SOURCES
	  ${CAPUTILS_SRC}
)

#
# Editor modelines  -  https://www.wireshark.org/tools/modelines.html
#
# Local variables:
# c-basic-offset: 8
# tab-width: 8
# indent-tabs-mode: t
# End:
#
# vi: set shiftwidth=8 tabstop=8 noexpandtab:
# :indentSize=8:tabSize=8:noTabs=false:
#