X-Git-Url: http://git.samba.org/?p=metze%2Fwireshark%2Fwip.git;a=blobdiff_plain;f=CMakeLists.txt;h=eed6201f1b7dd1a6d5ed5ad8a970766f0eaf1757;hp=f4978a3309ed21f6b632a5cf8bff9a9ab83f0d82;hb=b84fee4fc7b96b9ccc39c1ce91fb553c7913da8d;hpb=36e0adfcc1cea7532bb7f1c5a843ab3a662ff154 diff --git a/CMakeLists.txt b/CMakeLists.txt index f4978a3309..eed6201f1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,6 +124,9 @@ if( CMAKE_C_COMPILER_ID MATCHES "MSVC") /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /MP + # NOMINMAX keeps windows.h from defining "min" and "max" via windef.h. + # This avoids conflicts with the C++ standard library. + /DNOMINMAX ) if(NOT WIN64) @@ -201,8 +204,12 @@ else() # With clang some tests don't fail properly during testing but only # during real compiles - if(NOT CMAKE_C_COMPILER_ID MATCHES "Clang") - + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + set(WIRESHARK_C_FLAGS ${WIRESHARK_C_FLAGS} + -Qunused-arguments + #-fcolor-diagnostics + ) + else() set(WIRESHARK_C_FLAGS ${WIRESHARK_C_FLAGS} -fexcess-precision=fast ) @@ -279,12 +286,20 @@ else() set (C_UNUSED "" ) endif() -set(WIRESHARK_LD_FLAGS - -Wl,--as-needed - # -flto - # -fwhopr - # -fwhole-program -) + +if( CMAKE_C_COMPILER_ID MATCHES "MSVC") + # Set in Makefile.nmake but doesn't seem to have any effect + # set(WIRESHARK_LD_FLAGS + # /LARGEADDRESSAWARE + # ) +else() + set(WIRESHARK_LD_FLAGS + -Wl,--as-needed + # -flto + # -fwhopr + # -fwhole-program + ) +endif() include(CheckCLinkerFlag) set(C 0) @@ -323,11 +338,10 @@ endif() # - set HAVE_XXX #The minimum package list -set(PACKAGELIST GLIB2 GMODULE2 GTHREAD2 M LEX YACC Perl SH PythonInterp) +set(PACKAGELIST Gettext GLIB2 GMODULE2 GTHREAD2 M LEX YACC Perl SH PythonInterp) set(GLIB2_FIND_REQUIRED) set(GLIB2_MIN_VERSION 2.14.0) set(GTHREAD2_REQUIRED) -set(PCAP_REQUIRED) set(M_REQUIRED) set(PythonInterp_FIND_VERSION 2) set(Python_ADDITIONAL_VERSIONS 3) @@ -338,6 +352,10 @@ if(ENABLE_PCAP) set(PACKAGELIST ${PACKAGELIST} PCAP) endif() +if(ENABLE_AIRPCAP) + set(PACKAGELIST ${PACKAGELIST} AIRPCAP) +endif() + # Build the GTK-GUI? if(BUILD_wireshark) if(ENABLE_GTK3) @@ -354,11 +372,17 @@ endif() if(BUILD_qtshark) if(ENABLE_QT5) set(PACKAGELIST ${PACKAGELIST} Qt5Widgets Qt5PrintSupport Qt5LinguistTools) + if (APPLE) + set(PACKAGELIST ${PACKAGELIST} Qt5MacExtras) + endif() set(QT_VERSION 5) # Untested, may not work if CMAKE_PREFIX_PATH gets overwritten # somewhere. The if WIN32 in this place is annoying as well. if( WIN32 ) - set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.1.1\\5.1.1\\msvc2010\\") + set( QT5_BASE_PATH "$ENV{QT5_BASE_DIR}" ) + set( CMAKE_PREFIX_PATH "${QT5_BASE_PATH}\\msvc2010" ) + set( QT5_DLL_PATH "${CMAKE_PREFIX_PATH}/bin/dummy" ) + set( WS_ALL_LIBS ${WS_ALL_LIBS} ${QT5_DLL_PATH} ) endif() else() set(PACKAGELIST ${PACKAGELIST} Qt4) @@ -388,7 +412,7 @@ if(ENABLE_KERBEROS) endif() # Portable audio -if(ENABLE_PORTAUDIO) +if(ENABLE_PORTAUDIO AND BUILD_wireshark) set(PACKAGELIST ${PACKAGELIST} PORTAUDIO) endif() @@ -504,10 +528,7 @@ endif() if(HAVE_LIBADNS) set(HAVE_GNU_ADNS 1) endif() -if(ENABLE_AIRPCAP) - set(HAVE_AIRPCAP 1) -endif() -if(HAVE_LIBNL AND ENABLE_AIRPCAP) +if(HAVE_LIBNL AND HAVE_AIRPCAP) message(ERROR "Airpcap and Libnl support are mutually exclusive") endif() # No matter which version of GTK is present @@ -525,6 +546,11 @@ if (Qt5Widgets_FOUND) endif() set (QT_FOUND ON) set (QT_LIBRARIES ${Qt5Widgets_LIBRARIES} ${Qt5PrintSupport_LIBRARIES}) + if(Qt5MacExtras_FOUND) + set (QT_LIBRARIES ${QT_LIBRARIES} ${Qt5MacExtras_LIBRARIES}) + # That's the name autofoo uses + set(QT_MACEXTRAS_LIB 1) + endif() # If Qt4: QT_LIBRARIES and QT_INCLUDES are not set above. They require extra magic elseif(QT_FOUND) include(${QT_USE_FILE}) @@ -540,6 +566,8 @@ test_big_endian(WORDS_BIGENDIAN) set(DATAFILE_DIR "${CMAKE_INSTALL_PREFIX}/share/${CPACK_PACKAGE_NAME}") +SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) + if(ENABLE_PLUGINS) set(HAVE_PLUGINS 1) set(PLUGIN_DIR="${DATAFILE_DIR}/plugins/${CPACK_PACKAGE_VERSION}") @@ -613,9 +641,7 @@ endif() include(gmxTestLargeFiles) gmx_test_large_files(GMX_LARGEFILES) -#Platform specific -#if(UNIX) -#endif() +add_definitions( -DTOP_SRCDIR=\"${CMAKE_SOURCE_DIR}\" ) if(APPLE) # @@ -673,6 +699,7 @@ ADD_CUSTOM_TARGET( DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/make-version.pl ) +set_target_properties(svnversion PROPERTIES FOLDER "Auxiliary") ADD_CUSTOM_COMMAND( OUTPUT svnversion.h @@ -684,14 +711,21 @@ ADD_CUSTOM_COMMAND( ) if(UNIX) - set(PLATFORM_SRC + set(PLATFORM_CAPTURE_SRC capture-pcap-util-unix.c ) endif() if(WIN32) - set(PLATFORM_SRC - capture-wpcap.c capture_wpcap_packet.c capture_win_ifnames.c + set(PLATFORM_CAPTURE_SRC + capture_win_ifnames.c + capture-wpcap.c + capture_wpcap_packet.c + ) + set(PLATFORM_UI_SRC + ui/win32/console_win32.c + ui/win32/file_dlg_win32.c + ui/win32/print_win32.c ) endif() @@ -706,7 +740,7 @@ set(SHARK_COMMON_CAPTURE_SRC ) set(WIRESHARK_COMMON_SRC - ${PLATFORM_SRC} + ${PLATFORM_CAPTURE_SRC} capture-pcap-util.c cfile.c cfutils.c @@ -803,6 +837,7 @@ set(LIBEPAN_LIBS # @SSL_LIBS@ # -lcrypto epan # $(plugin_ldadd) # in case of static + ${AIRPCAP_LIBRARIES} ${PCAP_LIBRARIES} ${CARES_LIBRARIES} ${ADNS_LIBRARIES} @@ -834,6 +869,7 @@ if( (BUILD_wireshark AND GTK_FOUND) OR (BUILD_qtshark AND QT_FOUND) ) ws80211_utils.c ${SHARK_COMMON_CAPTURE_SRC} ${WIRESHARK_COMMON_SRC} + ${PLATFORM_UI_SRC} ) endif() @@ -851,12 +887,14 @@ if(BUILD_wireshark AND GTK_FOUND) ${APPLE_CORE_SERVICES_LIBRARY} ${APPLE_SYSTEM_CONFIGURATION_LIBRARY} ${NL_LIBRARIES} + ${WIN_COMCTL32_LIBRARY} ) # qtshark and wireshark share wireshark_FILES add_executable(wireshark ${wireshark_FILES}) add_dependencies(wireshark svnversion) set_target_properties(wireshark PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(wireshark PROPERTIES FOLDER "Executables") target_link_libraries(wireshark ${wireshark_LIBS}) install(TARGETS wireshark RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -879,11 +917,13 @@ if(BUILD_qtshark AND QT_FOUND) add_executable(qtshark ${wireshark_FILES}) add_dependencies(qtshark svnversion) set_target_properties(qtshark PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(qtshark PROPERTIES FOLDER "Executables") target_link_libraries(qtshark ${qtshark_LIBS}) install(TARGETS qtshark RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() register_tap_files(tshark-tap-register.c + tshark-taps ${TSHARK_TAP_SRC} ) @@ -906,6 +946,7 @@ if(BUILD_tshark) add_executable(tshark ${tshark_FILES}) add_dependencies(tshark svnversion) set_target_properties(tshark PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(tshark PROPERTIES FOLDER "Executables") target_link_libraries(tshark ${tshark_LIBS}) install(TARGETS tshark RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -924,6 +965,7 @@ if(BUILD_rawshark AND PCAP_FOUND) add_executable(rawshark ${rawshark_FILES}) add_dependencies(rawshark svnversion) set_target_properties(rawshark PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(rawshark PROPERTIES FOLDER "Executables") target_link_libraries(rawshark ${rawshark_LIBS}) install(TARGETS rawshark RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -938,6 +980,7 @@ if(BUILD_dftest) ) add_executable(dftest ${dftest_FILES}) set_target_properties(dftest PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(dftest PROPERTIES FOLDER "Executables") target_link_libraries(dftest ${dftest_LIBS}) install(TARGETS dftest RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -945,6 +988,7 @@ endif() if(BUILD_randpkt) set(randpkt_LIBS wiretap + wsutil ${M_LIBRARIES} ${PCAP_LIBRARIES} # @SOCKET_LIBS@ @@ -958,6 +1002,7 @@ if(BUILD_randpkt) ) add_executable(randpkt ${randpkt_FILES}) set_target_properties(randpkt PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(randpkt PROPERTIES FOLDER "Executables") target_link_libraries(randpkt ${randpkt_LIBS}) install(TARGETS randpkt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -981,6 +1026,7 @@ if(BUILD_text2pcap) add_executable(text2pcap ${text2pcap_FILES}) add_dependencies(text2pcap svnversion) set_target_properties(text2pcap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(text2pcap PROPERTIES FOLDER "Executables") target_link_libraries(text2pcap ${text2pcap_LIBS}) install(TARGETS text2pcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -999,6 +1045,7 @@ if(BUILD_mergecap) add_executable(mergecap ${mergecap_FILES}) add_dependencies(mergecap svnversion) set_target_properties(mergecap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(mergecap PROPERTIES FOLDER "Executables") target_link_libraries(mergecap ${mergecap_LIBS}) install(TARGETS mergecap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -1017,6 +1064,7 @@ if(BUILD_reordercap) add_executable(reordercap ${reordercap_FILES}) add_dependencies(reordercap svnversion) set_target_properties(reordercap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(reordercap PROPERTIES FOLDER "Executables") target_link_libraries(reordercap ${reordercap_LIBS}) install(TARGETS reordercap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -1036,6 +1084,7 @@ if(BUILD_capinfos) add_executable(capinfos ${capinfos_FILES}) add_dependencies(capinfos svnversion) set_target_properties(capinfos PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(capinfos PROPERTIES FOLDER "Executables") target_link_libraries(capinfos ${capinfos_LIBS}) install(TARGETS capinfos RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -1053,6 +1102,7 @@ if(BUILD_editcap) add_executable(editcap ${editcap_FILES}) add_dependencies(editcap svnversion) set_target_properties(editcap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(editcap PROPERTIES FOLDER "Executables") target_link_libraries(editcap ${editcap_LIBS}) install(TARGETS editcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -1085,11 +1135,12 @@ if(BUILD_dumpcap AND PCAP_FOUND) sync_pipe_write.c version_info.c ws80211_utils.c - ${PLATFORM_SRC} + ${PLATFORM_CAPTURE_SRC} ) add_executable(dumpcap ${dumpcap_FILES}) add_dependencies(dumpcap svnversion) set_target_properties(dumpcap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + set_target_properties(dumpcap PROPERTIES FOLDER "Executables") target_link_libraries(dumpcap ${dumpcap_LIBS}) install(TARGETS dumpcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() @@ -1162,6 +1213,7 @@ add_custom_target( wireshark.html wireshark-filter.html ) +set_target_properties(auxiliary PROPERTIES FOLDER "Docs") set(MAN1_FILES ${CMAKE_BINARY_DIR}/capinfos.1