aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeOptions.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeOptions.txt')
-rw-r--r--CMakeOptions.txt71
1 files changed, 54 insertions, 17 deletions
diff --git a/CMakeOptions.txt b/CMakeOptions.txt
index 25cd8fe6f3..2358031d4f 100644
--- a/CMakeOptions.txt
+++ b/CMakeOptions.txt
@@ -1,6 +1,14 @@
# Build options for use by CMake
option(BUILD_wireshark "Build Wireshark" ON)
+option(BUILD_logray "Build Logray" OFF)
+if(BUILD_wireshark OR BUILD_logray)
+ if(NOT DEFINED ENV{WIRESHARK_BUILD_WITH_QT5})
+ option(USE_qt6 "Use Qt6 instead of Qt5" ON)
+ else()
+ option(USE_qt6 "Use Qt6 instead of Qt5" OFF)
+ endif()
+endif()
option(BUILD_tshark "Build tshark" ON)
option(BUILD_tfshark "Build tfshark" OFF)
option(BUILD_rawshark "Build rawshark" ON)
@@ -22,9 +30,8 @@ option(BUILD_sshdump "Build sshdump" ON)
option(BUILD_ciscodump "Build ciscodump" ON)
option(BUILD_dpauxmon "Build dpauxmon" ON)
option(BUILD_randpktdump "Build randpktdump" ON)
+option(BUILD_wifidump "BUild wifidump" 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)
@@ -36,28 +43,31 @@ else()
option(BUILD_sdjournal "Build sdjournal" OFF)
endif()
option(BUILD_udpdump "Build udpdump" ON)
+option(BUILD_falcodump "Build falcodump" OFF)
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(BUILD_fuzzshark "Build fuzzshark" OFF)
+
+option(ENABLE_WERROR "Treat warnings as errors" ON)
+# Debugging is enabled for "Debug" build type.
+option(ENABLE_DEBUG "Enable debugging for all build configurations" OFF)
+option(ENABLE_DEBUG_UTF_8 "Enable UTF-8 sanity checks (requires ENABLE_DEBUG)" ON)
+option(ENABLE_DEBUG_A2W "Enable line directive from .cnf file" OFF)
+# Assertions are enabled for "Debug" and "RelWithDebInfo" build types.
+option(ENABLE_ASSERT "Enable assertions for all build configurations" OFF)
-option(DISABLE_WERROR "Do not treat warnings as errors" OFF)
-option(DISABLE_DEBUG "Disable debug code" OFF)
-option(DISABLE_ASSERT "Disable assertions" OFF)
+option(ENABLE_CCACHE "Speed up compiling and linking using ccache if possible" 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_TODO_WARNINGS "Enable compiler warnings that are yet to be fixed" OFF)
+option(ENABLE_PEDANTIC_WARNINGS "Enable pedantic or unfixable compiler warnings (noisy)" 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)
@@ -65,9 +75,7 @@ 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()
+option(ENABLE_LTO "Use Link Time Optimization (release configuration only)" OFF)
if(WIN32)
option(ENABLE_VLD "Enable Visual Leak Detect in Debug configuration" OFF)
@@ -80,7 +88,13 @@ option(ENABLE_PCAP "Enable libpcap support (required for capturing)" ON)
# only if it is.
#
if(WIN32)
- option(ENABLE_AIRPCAP "Enable AirPcap support" ON)
+ if(MINGW)
+ # AirPcap SDK is not widely available or supported with MinGW.
+ set(_enable_airpcap OFF)
+ else()
+ set(_enable_airpcap ON)
+ endif()
+ option(ENABLE_AIRPCAP "Enable AirPcap support" ${_enable_airpcap})
endif()
option(ENABLE_STATIC "Build Wireshark libraries statically" OFF)
option(USE_STATIC "Always link statically with external libraries" OFF)
@@ -94,10 +108,11 @@ 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_NGHTTP3 "Build with HTTP/3 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)
+if(WIN32 AND USE_REPOSITORY)
option(ENABLE_WINSPARKLE "Enable automatic updates using WinSparkle" ON)
endif()
if (NOT WIN32)
@@ -114,9 +129,13 @@ 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_AMRNB "Build with AMRNB 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)
+option(ENABLE_SINSP "Build with libsinsp+libscap support" ON)
+
+option(FETCH_lua "Download and build Lua" OFF)
# How to install
set(DUMPCAP_INSTALL_OPTION "normal" CACHE STRING "Permissions to install")
@@ -131,3 +150,21 @@ if(APPLE)
option(ENABLE_APPLICATION_BUNDLE "Build a macOS application bundle (Wireshark.app)" ON)
option(ENABLE_SPARKLE "Enable automatic updates using Sparkle" ON)
endif()
+
+if(WIN32)
+ # Enable signing of NSIS installer by default only if we have 'sign-wireshark.bat' on the path
+ # of the host system.
+ set(_enable_signed_nsis False)
+ if(CMAKE_HOST_WIN32)
+ find_file(SIGN_WIRESHARK_BAT "sign-wireshark.bat")
+ if (SIGN_WIRESHARK_BAT)
+ set(_enable_signed_nsis True)
+ endif()
+ endif()
+ option(ENABLE_SIGNED_NSIS "Enable the code signing step of the NSIS installer build" ${_enable_signed_nsis})
+
+ # Advanced options for developers to work-around limitations in the build
+ # when cross-compiling to Windows.
+ option(SKIP_NSIS_QT_DLLS "Skip deploying Qt runtime DLLs with installer" OFF)
+ mark_as_advanced(SKIP_NSIS_QT_DLLS)
+endif()