aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeOptions.txt
blob: 25cd8fe6f384bf0b6d0c33aaa1841010a710330d (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
# Build options for use by CMake

option(BUILD_wireshark     "Build Wireshark" ON)
option(BUILD_tshark        "Build tshark" ON)
option(BUILD_tfshark       "Build tfshark" OFF)
option(BUILD_rawshark      "Build rawshark" ON)
option(BUILD_dumpcap       "Build dumpcap" ON)
option(BUILD_text2pcap     "Build text2pcap" ON)
option(BUILD_mergecap      "Build mergecap" ON)
option(BUILD_reordercap    "Build reordercap" ON)
option(BUILD_editcap       "Build editcap" ON)
option(BUILD_capinfos      "Build capinfos" ON)
option(BUILD_captype       "Build captype" ON)
option(BUILD_randpkt       "Build randpkt" ON)
option(BUILD_dftest        "Build dftest" ON)
option(BUILD_corbaidl2wrs  "Build corbaidl2wrs" OFF)
option(BUILD_dcerpcidl2wrs "Build dcerpcidl2wrs" ON)
option(BUILD_xxx2deb       "Build xxx2deb" OFF)

option(BUILD_androiddump   "Build androiddump" ON)
option(BUILD_sshdump       "Build sshdump" ON)
option(BUILD_ciscodump     "Build ciscodump" ON)
option(BUILD_dpauxmon      "Build dpauxmon" ON)
option(BUILD_randpktdump   "Build randpktdump" ON)
if(WIN32 AND NOT MINGW)
	# XXX - I don't think building etwdump is possible with MinGW-w64 as of
	# version 9.0 but I would like to be 100% certain.
	option(BUILD_etwdump	   "Build etwdump" ON)
else()
	option(BUILD_etwdump	   "Build etwdump" OFF)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
	option(BUILD_sdjournal   "Build sdjournal" ON)
else()
	option(BUILD_sdjournal   "Build sdjournal" OFF)
endif()
option(BUILD_udpdump       "Build udpdump" ON)

option(BUILD_sharkd        "Build sharkd" ON)
if(WIN32)
	option(BUILD_fuzzshark     "Build fuzzshark" OFF)
else()
	option(BUILD_fuzzshark     "Build fuzzshark" ON)
endif()
option(BUILD_mmdbresolve   "Build MaxMind DB resolver" ON)

option(DISABLE_WERROR    "Do not treat warnings as errors" OFF)
option(DISABLE_DEBUG     "Disable debug code" OFF)
option(DISABLE_ASSERT    "Disable assertions" OFF)
option(DISABLE_FRAME_LARGER_THAN_WARNING "Disable warning if the size of a function frame is large" OFF)
option(EXTCAP_ANDROIDDUMP_LIBPCAP    "Build androiddump using libpcap" OFF)
option(ENABLE_EXTRA_COMPILER_WARNINGS "Do additional compiler warnings (disables -Werror)" OFF)
option(ENABLE_CODE_ANALYSIS "Enable the compiler's static analyzer if possible" OFF)
option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF)
option(ENABLE_TSAN "Enable ThreadSanitizer (TSan) for debugging" OFF)
option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer (UBSan) for debugging" OFF)
option(ENABLE_FUZZER "Enable libFuzzer instrumentation for use with fuzzshark" OFF)
option(ENABLE_CHECKHF_CONFLICT "Enable hf conflict check for debugging (start-up may be slower)" OFF)
option(ENABLE_CCACHE "Speed up compiling and linking using ccache if possible" OFF)

if(CMAKE_GENERATOR STREQUAL "Ninja")
	option(ENABLE_COMPILER_COLOR_DIAGNOSTICS "Always enable the compiler's color diagnostic output" ON)
else()
	option(ENABLE_COMPILER_COLOR_DIAGNOSTICS "Always enable the compiler's color diagnostic output" OFF)
endif()

if(CMAKE_VERSION VERSION_GREATER "3.8.99")
	option(ENABLE_LTO "Use Link Time Optimization (release configuration only)" OFF)
endif()

if(WIN32)
	option(ENABLE_VLD "Enable Visual Leak Detect in Debug configuration" OFF)
endif()

option(ENABLE_PCAP       "Enable libpcap support (required for capturing)" ON)
#
# AirPcap support is available only on Windows.  It might be nice to have it
# check whether the AirPcap SDK is available, and turn AirPcap support on
# only if it is.
#
if(WIN32)
	option(ENABLE_AIRPCAP    "Enable AirPcap support" ON)
endif()
option(ENABLE_STATIC            "Build Wireshark libraries statically" OFF)
option(USE_STATIC               "Always link statically with external libraries" OFF)
option(ENABLE_PLUGINS           "Build with plugins" ON)
option(ENABLE_PLUGIN_IFDEMO     "Build with plugin interface demo" OFF)

option(ENABLE_ZLIB       "Build with zlib compression support" ON)
option(ENABLE_MINIZIP    "Build with zip file compression support" ON)
option(ENABLE_LZ4        "Build with LZ4 compression support" ON)
option(ENABLE_BROTLI     "Build with brotli compression support" ON)
option(ENABLE_SNAPPY     "Build with Snappy compression support" ON)
option(ENABLE_ZSTD       "Build with Facebook zstd compression support" ON)
option(ENABLE_NGHTTP2    "Build with HTTP/2 header decompression support" ON)
option(ENABLE_LUA        "Build with Lua dissector support" ON)
option(ENABLE_SMI        "Build with libsmi snmp support" ON)
option(ENABLE_GNUTLS     "Build with RSA decryption support" ON)
if(WIN32)
	option(ENABLE_WINSPARKLE "Enable automatic updates using WinSparkle" ON)
endif()
if (NOT WIN32)
	option(ENABLE_CAP        "Build with Posix capabilities support" ON)
endif()
if(UNIX)
	# Libnl is Linux-specific.
	if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
		set(_enable_libnl ON)
	endif()
	option(ENABLE_NETLINK    "Build with libnl support" ${_enable_libnl})
endif()
option(ENABLE_KERBEROS   "Build with Kerberos support" ON)
option(ENABLE_SBC        "Build with SBC Codec support in RTP Player" ON)
option(ENABLE_SPANDSP    "Build with G.722/G.726 codecs support in RTP Player" ON)
option(ENABLE_BCG729     "Build with G.729 codec support in RTP Player" ON)
option(ENABLE_ILBC       "Build with iLBC codec support in RTP Player" ON)
option(ENABLE_LIBXML2    "Build with libxml2 support" ON)
option(ENABLE_OPUS       "Build with opus support" ON)

# How to install
set(DUMPCAP_INSTALL_OPTION   "normal" CACHE STRING "Permissions to install")
set_property(CACHE DUMPCAP_INSTALL_OPTION PROPERTY STRINGS "normal" "suid" "capabilities")

if(UNIX)
	option(ENABLE_DUMPCAP_GROUP "Install dumpcap with group ownership and permissions (default \"wireshark\")" OFF)
	set(DUMPCAP_INSTALL_GROUP "wireshark" CACHE STRING "Group name for dumpcap (must exist)")
endif()

if(APPLE)
	option(ENABLE_APPLICATION_BUNDLE "Build a macOS application bundle (Wireshark.app)" ON)
	option(ENABLE_SPARKLE "Enable automatic updates using Sparkle" ON)
endif()