From ae200cb16ebcee5714566eb392fd24846a2b04a5 Mon Sep 17 00:00:00 2001 From: jmayer Date: Thu, 2 Feb 2012 00:46:02 +0000 Subject: [PATCH] Prepare the cmake infrastucture for eventually building wireshark and qtshark simultanously. The "only" missing thing for this is now ui/qt/CMakeLists.txt ;) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@40799 f5534014-38df-0310-8fa8-9805f1628bb7 --- CMakeLists.txt | 74 +++++++++++++++++++++++++++++++++---------- CMakeOptions.txt | 3 +- ui/gtk/CMakeLists.txt | 4 +-- 3 files changed, 62 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c7bc929ed..a0e770f24c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -241,7 +241,7 @@ if(ENABLE_PCAP) set(PACKAGELIST ${PACKAGELIST} PCAP) endif() -#Build the gui ? +# Build the GTK-GUI? if(BUILD_wireshark) if(ENABLE_GTK3) set(PACKAGELIST ${PACKAGELIST} GTK3) @@ -253,6 +253,12 @@ if(BUILD_wireshark) endif() endif() +# Build the Qt GUI? +if(BUILD_qtshark) + set(PACKAGELIST ${PACKAGELIST} QT) + # set(QT_OPTIONS 4.7.1 REQUIRED QtCore QtGui) +endif() + # SMI SNMP if(ENABLE_SMI) set(PACKAGELIST ${PACKAGELIST} SMI) @@ -319,12 +325,17 @@ set(PROGLIST text2pcap mergecap capinfos editcap dumpcap) #Let's loop the package list foreach(PACKAGE ${PACKAGELIST}) + if(${PACKAGE} EQUAL "QT") + set(PACKAGE_NAME "Qt4") + else() + set(PACKAGE_NAME ${PACKAGE}) + endif() if(${PACKAGE}_OPTIONS) - find_package(${PACKAGE} ${${PACKAGE}_OPTIONS}) + find_package(${PACKAGE_NAME} ${${PACKAGE}_OPTIONS}) elseif(${PACKAGE}_REQUIRED) - find_package(${PACKAGE} REQUIRED) + find_package(${PACKAGE_NAME} REQUIRED) else() - find_package(${PACKAGE}) + find_package(${PACKAGE_NAME}) endif() message(${PACKAGE}_FOUND) if (${PACKAGE}_FOUND) @@ -425,6 +436,11 @@ if(BUILD_wireshark AND GTK_FOUND) add_subdirectory( ui/gtk ) endif() +if(BUILD_qtshark AND QT_FOUND) + add_subdirectory( ui/qt ) +endif() + + # Basedir where to install guides set(DOC_DIR "$ENV{docdir}") message(STATUS "docdir: ${DOC_DIR}") @@ -471,6 +487,7 @@ PRINT_DISABLED_FEATURES() link_directories( ${CMAKE_BINARY_DIR}/ui/gtk + ${CMAKE_BINARY_DIR}/ui/qt ${CMAKE_BINARY_DIR}/codecs ${CMAKE_BINARY_DIR}/epan ${CMAKE_BINARY_DIR}/wiretap @@ -645,18 +662,7 @@ set(LIBEPAN_LIBS ${M_LIBRARIES} ) -if(BUILD_wireshark AND GTK_FOUND) - set(wireshark_LIBS - ui - ${GTK2_LIBRARIES} - ${GTK3_LIBRARIES} - ${GTHREAD2_LIBRARIES} - codecs - ${PORTAUDIO_LIBRARIES} - ${LIBEPAN_LIBS} - ${APPLE_CORE_SERVICES_LIBRARY} - ${APPLE_COCOA_LIBRARY} - ) +if( (BUILD_wireshark AND GTK_FOUND) OR (BUILD_qtshark AND QT_FOUND) ) set(wireshark_FILES airpcap_loader.c alert_box.c @@ -678,6 +684,22 @@ if(BUILD_wireshark AND GTK_FOUND) ${SHARK_COMMON_CAPTURE_SRC} ${WIRESHARK_COMMON_SRC} ) +endif() + +if(BUILD_wireshark AND GTK_FOUND) + set(wireshark_LIBS + gtkui + ${GTK2_LIBRARIES} + ${GTK3_LIBRARIES} + ${GTHREAD2_LIBRARIES} + codecs + ${PORTAUDIO_LIBRARIES} + ${LIBEPAN_LIBS} + ${APPLE_CORE_SERVICES_LIBRARY} + ${APPLE_COCOA_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}") @@ -685,6 +707,26 @@ if(BUILD_wireshark AND GTK_FOUND) install(TARGETS wireshark RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() +if(BUILD_qtshark AND QT_FOUND) + set(qtshark_LIBS + qtui + ${QT_LIBRARIES} + ${GTHREAD2_LIBRARIES} + codecs + ${PORTAUDIO_LIBRARIES} + ${LIBEPAN_LIBS} + ${APPLE_CORE_SERVICES_LIBRARY} + ${APPLE_COCOA_LIBRARY} + ) + # qtshark and wireshark share wireshark_FILES + + add_executable(qtshark ${wireshark_FILES}) + add_dependencies(qtshark svnversion) + set_target_properties(qtshark PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") + target_link_libraries(qtshark ${qtshark_LIBS}) + install(TARGETS qtshark RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +endif() + register_tap_files(tshark-tap-register.c ${TSHARK_TAP_SRC} ) diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 86076346d4..21af1f2d93 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -2,7 +2,8 @@ # $Id$ -option(BUILD_wireshark "Build the GUI version of Wireshark" ON) +option(BUILD_wireshark "Build the GTK-GUI version of Wireshark" ON) +option(BUILD_qtshark "Build the QT-GUI version of Wireshark" OFF) option(BUILD_tshark "Build tshark" ON) option(BUILD_rawshark "Build rawshark" ON) option(BUILD_dumpcap "Build dumpcap" ON) diff --git a/ui/gtk/CMakeLists.txt b/ui/gtk/CMakeLists.txt index ceaa186b9d..5ca9e7ffda 100644 --- a/ui/gtk/CMakeLists.txt +++ b/ui/gtk/CMakeLists.txt @@ -258,13 +258,13 @@ register_tap_files(wireshark-tap-register.c ${WIRESHARK_TAP_SRC} ) -add_library(ui STATIC +add_library(gtkui STATIC ${WIRESHARK_GTK_SRC} ${WIRESHARK_TAP_SRC} ${PLATFORM_UI_SRC} wireshark-tap-register.c ) -set_target_properties(ui PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") +set_target_properties(gtkui PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") install( DIRECTORY -- 2.34.1