summaryrefslogtreecommitdiffstats
path: root/capture/CMakeLists.txt
blob: 65b91f8fcfe54a82dda5c2acfb48d58649522c5a (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
131
132
133
134
135
136
137
# 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
)

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
		$<$<BOOL:${PCAP_FOUND}>:pcap::pcap>
	PRIVATE
		wsutil
		${WIN_IPHLPAPI_LIBRARY}
)
if(WIN32)
	target_link_libraries(caputils PRIVATE ${GMODULE2_LIBRARIES})
endif()

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()

add_library(iface_monitor STATIC
	iface_monitor.c
	ws80211_utils.c
)

target_link_libraries(iface_monitor
	PRIVATE
		${NL_LIBRARIES}
)

target_include_directories(iface_monitor SYSTEM
	PRIVATE
		${NL_INCLUDE_DIRS}
)

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:
#