# CMakeLists.txt # # Wireshark - Network traffic analyzer # By Gerald Combs # Copyright 1998 Gerald Combs # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # All .h files which inherit from QObject aka which use the Q_OBJECT macro # need to go here. set(WIRESHARK_QT_HEADERS about_dialog.h accordion_frame.h byte_view_tab.h byte_view_text.h capture_file_dialog.h capture_filter_combo.h capture_filter_edit.h capture_filter_syntax_worker.h capture_info_dialog.h capture_interface_dialog.h capture_interfaces_dialog.h capture_preferences_frame.h color_dialog.h color_utils.h column_preferences_frame.h decode_as_dialog.h display_filter_combo.h display_filter_edit.h elided_label.h export_dissection_dialog.h export_object_dialog.h export_pdu_dialog.h file_set_dialog.h filter_expressions_preferences_frame.h follow_stream_dialog.h follow_stream_text.h font_color_preferences_frame.h import_text_dialog.h interface_tree.h label_stack.h layout_preferences_frame.h main_status_bar.h main_welcome.h main_window.h main_window_preferences_frame.h module_preferences_scroll_area.h packet_comment_dialog.h packet_format_group_box.h packet_list.h packet_list_model.h packet_range_group_box.h preferences_dialog.h print_dialog.h profile_dialog.h progress_bar.h proto_tree.h qcustomplot.h recent_file_status.h sctp_all_assocs_dialog.h sctp_assoc_analyse_dialog.h sctp_chunk_statistics_dialog.h sctp_graph_dialog.h sctp_graph_arwnd_dialog.h sctp_graph_byte_dialog.h search_frame.h sequence_diagram.h sequence_dialog.h simple_dialog_qt.h splash_overlay.h stats_tree_dialog.h summary_dialog.h syntax_line_edit.h tcp_stream_dialog.h time_shift_dialog.h uat_dialog.h wireshark_application.h # No Q_OBJECT: # packet_list_record.h # qt_ui_utils.h # related_packet_delegate.h # sparkline_delegate.h ) set(WIRESHARK_QT_SRC about_dialog.cpp accordion_frame.cpp byte_view_tab.cpp byte_view_text.cpp capture_file_dialog.cpp capture_filter_combo.cpp capture_filter_edit.cpp capture_filter_syntax_worker.cpp capture_info_dialog.cpp capture_interface_dialog.cpp capture_interfaces_dialog.cpp color_dialog.cpp color_utils.cpp capture_preferences_frame.cpp column_preferences_frame.cpp decode_as_dialog.cpp display_filter_combo.cpp display_filter_edit.cpp elided_label.cpp export_dissection_dialog.cpp export_object_dialog.cpp export_pdu_dialog.cpp file_set_dialog.cpp filter_expressions_preferences_frame.cpp follow_stream_dialog.cpp follow_stream_text.cpp font_color_preferences_frame.cpp import_text_dialog.cpp interface_tree.cpp label_stack.cpp layout_preferences_frame.cpp main.cpp main_status_bar.cpp main_welcome.cpp main_window.cpp main_window_preferences_frame.cpp main_window_slots.cpp module_preferences_scroll_area.cpp packet_comment_dialog.cpp packet_format_group_box.cpp packet_list.cpp packet_list_model.cpp packet_list_record.cpp packet_range_group_box.cpp preferences_dialog.cpp print_dialog.cpp profile_dialog.cpp progress_bar.cpp proto_tree.cpp qt_ui_utils.cpp recent_file_status.cpp related_packet_delegate.cpp sctp_all_assocs_dialog.cpp sctp_assoc_analyse_dialog.cpp sctp_chunk_statistics_dialog.cpp sctp_graph_dialog.cpp sctp_graph_arwnd_dialog.cpp sctp_graph_byte_dialog.cpp search_frame.cpp sequence_diagram.cpp sequence_dialog.cpp simple_dialog_qt.cpp splash_overlay.cpp sparkline_delegate.cpp summary_dialog.cpp syntax_line_edit.cpp tcp_stream_dialog.cpp time_shift_dialog.cpp uat_dialog.cpp wireshark_application.cpp ) set(WIRESHARK_QT_TAP_SRC stats_tree_dialog.cpp ) set(CLEAN_FILES ${WIRESHARK_QT_SRC} ${WIRESHARK_QT_TAP_SRC} ) set(DIRTY_FILES qcustomplot.cpp ) set(WIRESHARK_QT_UI about_dialog.ui capture_preferences_frame.ui capture_interfaces_dialog.ui column_preferences_frame.ui decode_as_dialog.ui export_object_dialog.ui export_pdu_dialog.ui file_set_dialog.ui filter_expressions_preferences_frame.ui follow_stream_dialog.ui font_color_preferences_frame.ui import_text_dialog.ui layout_preferences_frame.ui main_welcome.ui main_window.ui main_window_preferences_frame.ui module_preferences_scroll_area.ui packet_comment_dialog.ui packet_format_group_box.ui packet_range_group_box.ui preferences_dialog.ui print_dialog.ui profile_dialog.ui sctp_all_assocs_dialog.ui sctp_assoc_analyse_dialog.ui sctp_chunk_statistics_dialog.ui sctp_graph_dialog.ui sctp_graph_arwnd_dialog.ui sctp_graph_byte_dialog.ui search_frame.ui sequence_dialog.ui splash_overlay.ui stats_tree_dialog.ui summary_dialog.ui tcp_stream_dialog.ui time_shift_dialog.ui uat_dialog.ui ) set(WIRESHARK_QT_QRC ../../image/about.qrc ../../image/display_filter.qrc ../../image/layout.qrc ../../image/status.qrc ../../image/toolbar.qrc i18n.qrc welcome.qrc ) set(WIRESHARK_QT_TS qtshark_de.ts qtshark_en.ts # lupdate -pluralonly qtshark_fr.ts qtshark_zh_CN.ts ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) if (QT_VERSION EQUAL 5) QT5_ADD_TRANSLATION(WIRESHARK_QT_TS_QM ${WIRESHARK_QT_TS}) QT5_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC}) QT5_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI}) # For now, do the moc stuff manually QT5_WRAP_CPP(WIRESHARK_QT_MOC_SRC ${WIRESHARK_QT_HEADERS}) # Starting with cmake 2.8.6, we may also use # set(CMAKE_AUTOMOC TRUE) # or # set_target_properties(${some-source-files} PROPERTIES AUTOMOC TRUE) else() QT4_ADD_TRANSLATION(WIRESHARK_QT_TS_QM ${WIRESHARK_QT_TS}) QT4_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC}) QT4_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI}) # For now, do the moc stuff manually QT4_WRAP_CPP(WIRESHARK_QT_MOC_SRC ${WIRESHARK_QT_HEADERS}) # Starting with cmake 2.8.6, we may also use # set(CMAKE_AUTOMOC TRUE) # or # set_target_properties(${some-source-files} PROPERTIES AUTOMOC TRUE) endif() if (WERROR) set_source_files_properties( ${CLEAN_FILES} PROPERTIES COMPILE_FLAGS -Werror ) # The Qt headers generate a ton of shortening errors on 64-bit systems. if (CMAKE_SIZEOF_VOID_P EQUAL 8) set_source_files_properties( ${CLEAN_FILES} PROPERTIES COMPILE_FLAGS -Wno-shorten-64-to-32 ) endif() endif() add_definitions(${QT_DEFINITIONS}) register_tap_files(wireshark-tap-register.c taps ${WIRESHARK_QT_TAP_SRC} ) add_library(qtui STATIC ${WIRESHARK_QT_SRC} ${WIRESHARK_QT_TAP_SRC} ${WIRESHARK_QT_UI_SRC} ${WIRESHARK_QT_MOC_SRC} ${WIRESHARK_QT_QRC_SRC} ${WIRESHARK_QT_TS_QM} ${DIRTY_FILES} wireshark-tap-register.c ) set_target_properties(qtui PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") set_target_properties(qtui PROPERTIES FOLDER "UI")