CMake: Enable ccache for gcc and clang.
[metze/wireshark/wip.git] / CMakeOptions.txt
1 # Build options for use by CMake
2
3 option(BUILD_wireshark     "Build Wireshark" ON)
4 option(BUILD_wireshark_gtk "Build Wireshark (GTK+ UI)" OFF)
5 option(BUILD_tshark        "Build tshark" ON)
6 option(BUILD_tfshark       "Build tfshark" ON)
7 option(BUILD_rawshark      "Build rawshark" ON)
8 option(BUILD_dumpcap       "Build dumpcap" ON)
9 option(BUILD_text2pcap     "Build text2pcap" ON)
10 option(BUILD_mergecap      "Build mergecap" ON)
11 option(BUILD_reordercap    "Build reordercap" ON)
12 option(BUILD_editcap       "Build editcap" ON)
13 option(BUILD_capinfos      "Build capinfos" ON)
14 option(BUILD_captype       "Build captype" ON)
15 option(BUILD_randpkt       "Build randpkt" ON)
16 option(BUILD_dftest        "Build dftest" ON)
17 option(BUILD_androiddump   "Build androiddump" ON)
18 option(BUILD_sshdump       "Build sshdump" ON)
19 option(BUILD_ciscodump     "Build ciscodump" ON)
20 option(BUILD_randpktdump   "Build randpktdump" ON)
21 option(BUILD_udpdump       "Build udpdump" ON)
22
23 option(DISABLE_WERROR    "Do not treat warnings as errors" OFF)
24 option(EXTCAP_ANDROIDDUMP_LIBPCAP    "Build androiddump using libpcap" OFF)
25 option(ENABLE_EXTRA_COMPILER_WARNINGS "Do additional compiler warnings (disables -Werror)" OFF)
26 option(ENABLE_CODE_ANALYSIS "Enable the compiler's static analyzer if possible" OFF)
27 option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF)
28 option(ENABLE_CHECKHF_CONFLICT "Enable hf conflict check for debugging (start-up may be slower)" OFF)
29 option(ENABLE_CCACHE "Speed up compiling and linking using ccache if possible" OFF)
30
31 #
32 # Leave GTK2 the default on Windows, looks better than GTK3
33 #
34 if(WIN32)
35         option(ENABLE_GTK3       "Use GTK3 instead of GTK2 to build wireshark" OFF)
36 else()
37         option(ENABLE_GTK3       "Use GTK3 instead of GTK2 to build wireshark" ON)
38 endif()
39 option(ENABLE_QT5        "Use Qt5 instead of Qt4 to build wireshark" ON)
40 option(ENABLE_PCAP       "Enable libpcap support (required for capturing)" ON)
41 option(WANT_PACKET_EDITOR       "Enable packet editor (experimental)" ON)
42 #
43 # Do not make this the default on UN*X; AirPcap support is available
44 # only on Windows.  It might be nice to have it, on Windows, check
45 # whether the AirPcap SDK is available, and turn AirPcap support on
46 # only if it is.
47 #
48 if(WIN32)
49         option(ENABLE_AIRPCAP    "Enable AirPcap support" ON)
50 else()
51         option(ENABLE_AIRPCAP    "Enable AirPcap support" OFF)
52 endif()
53 # todo
54 option(ENABLE_STATIC     "Build a static version of Wireshark (not yet working)" OFF)
55 option(ENABLE_ECHLD      "Enable echld support" OFF)
56 option(ENABLE_PLUGINS    "Build with plugins" ON)
57 option(ENABLE_EXTCAP     "Build with extcap hooks" ON)
58 option(ENABLE_HTML_GUIDES       "Build HTML User & Developer Guides" OFF)
59 option(ENABLE_PDF_GUIDES        "Build PDF User & Developer Guides" OFF)
60 option(ENABLE_CHM_GUIDES        "Build HTML Help User & Developer Guides" OFF)
61 option(ENABLE_PCAP_NG_DEFAULT   "Enable pcap-ng as default file format" ON)
62
63 option(ENABLE_PORTAUDIO  "Build with PortAudio support" ON)
64 option(ENABLE_ZLIB       "Build with zlib compression support" ON)
65 option(ENABLE_LZ4        "Build with LZ4 compression support" ON)
66 option(ENABLE_SNAPPY     "Build with Snappy compression support" ON)
67 option(ENABLE_LUA        "Build with Lua dissector support" ON)
68 option(ENABLE_SMI        "Build with libsmi snmp support" ON)
69 option(ENABLE_GNUTLS     "Build with GNU TLS support" ON)
70 option(ENABLE_GCRYPT     "Build with GNU crypto support" ON)
71 option(ENABLE_GEOIP      "Build with GeoIP support" ON)
72 if(WIN32)
73         option(ENABLE_WINSPARKLE "Enable WinSparkle support" ON)
74 else()
75         option(ENABLE_WINSPARKLE "Enable WinSparkle support" OFF)
76 endif()
77 option(ENABLE_CAP        "Build with Posix capabilities support" ON)
78 option(ENABLE_CARES      "Build with c-ares support" ON)
79 #
80 # Libnl is Linux-specific.
81 #
82 if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
83         option(ENABLE_NETLINK    "Build with libnl support" ON)
84 else()
85         option(ENABLE_NETLINK    "Build with libnl support" OFF)
86 endif()
87 # todo Mostly hardcoded
88 option(ENABLE_KERBEROS   "Build with Kerberos support" ON)
89 option(ENABLE_SBC        "Build with SBC Codec support in RTP Player" ON)
90 # How to install
91 set(DUMPCAP_INSTALL_OPTION   "normal" CACHE STRING "Permissions to install")
92 set(DUMPCAP_INST_VALS "normal" "suid" "capabilities")
93 set_property(CACHE DUMPCAP_INSTALL_OPTION PROPERTY STRINGS ${DUMPCAP_INST_VALS})
94 if(APPLE)
95         option(ENABLE_APPLICATION_BUNDLE "Build an OS X application bundle (Wireshark.app)" ON)
96 else()
97         option(ENABLE_APPLICATION_BUNDLE "Build an OS X application bundle (Wireshark.app)" OFF)
98 endif()