wireshark/ui/qt/CMakeLists.txt

699 lines
18 KiB
CMake
Raw Normal View History

# CMakeLists.txt
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# 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.
#
ADD_CUSTOM_CMAKE_INCLUDE()
set(WIRESHARK_WIDGET_HEADERS
widgets/additional_toolbar.h
widgets/apply_line_edit.h
widgets/byte_view_text.h
widgets/capture_filter_combo.h
widgets/capture_filter_edit.h
widgets/clickable_label.h
widgets/display_filter_combo.h
widgets/display_filter_edit.h
widgets/dissector_tables_view.h
widgets/drag_drop_toolbar.h
widgets/drag_label.h
widgets/editor_color_dialog.h
widgets/editor_file_dialog.h
widgets/expert_info_view.h
widgets/export_objects_view.h
widgets/elided_label.h
widgets/field_filter_edit.h
widgets/find_line_edit.h
widgets/follow_stream_text.h
widgets/interface_toolbar_lineedit.h
widgets/label_stack.h
widgets/overlay_scroll_bar.h
widgets/qcustomplot.h
widgets/stock_icon_tool_button.h
widgets/syntax_line_edit.h
widgets/tabnav_tree_view.h
)
set(WIRESHARK_UTILS_HEADERS
utils/color_utils.h
utils/data_printer.h
utils/field_information.h
utils/frame_information.h
utils/idata_printable.h
utils/proto_node.h
utils/qt_ui_utils.h
utils/stock_icon.h
utils/tango_colors.h
utils/variant_pointer.h
utils/wireshark_mime_data.h
)
set(WIRESHARK_MODEL_HEADERS
models/astringlist_list_model.h
models/cache_proxy_model.h
models/decode_as_delegate.h
models/decode_as_model.h
models/dissector_tables_model.h
models/enabled_protocols_model.h
models/expert_info_model.h
models/expert_info_proxy_model.h
models/export_objects_model.h
models/fileset_entry_model.h
models/html_text_delegate.h
models/interface_sort_filter_model.h
models/interface_tree_cache_model.h
models/interface_tree_model.h
models/numeric_value_chooser_delegate.h
models/packet_list_model.h
models/packet_list_record.h
models/path_chooser_delegate.h
models/percent_bar_delegate.h
models/proto_tree_model.h
models/related_packet_delegate.h
models/sparkline_delegate.h
models/supported_protocols_model.h
models/timeline_delegate.h
models/tree_model_helpers.h
models/uat_delegate.h
models/uat_model.h
models/url_link_delegate.h
models/voip_calls_info_model.h
)
# 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
address_editor_frame.h
bluetooth_att_server_attributes_dialog.h
bluetooth_device_dialog.h
bluetooth_devices_dialog.h
bluetooth_hci_summary_dialog.h
accordion_frame.h
byte_view_tab.h
capture_file.h
capture_file_dialog.h
capture_file_properties_dialog.h
capture_filter_syntax_worker.h
capture_info_dialog.h
capture_interfaces_dialog.h
capture_preferences_frame.h
coloring_rules_dialog.h
column_preferences_frame.h
column_editor_frame.h
compiled_filter_output.h
conversation_colorize_action.h
conversation_dialog.h
conversation_hash_tables_dialog.h
decode_as_dialog.h
display_filter_expression_dialog.h
dissector_tables_dialog.h
enabled_protocols_dialog.h
endpoint_dialog.h
expert_info_dialog.h
export_dissection_dialog.h
export_object_action.h
export_object_dialog.h
export_pdu_dialog.h
file_set_dialog.h
filter_action.h
filter_dialog.h
filter_dialog.h
filter_expression_frame.h
firewall_rules_dialog.h
follow_stream_dialog.h
font_color_preferences_frame.h
funnel_string_dialog.h
funnel_text_dialog.h
funnel_statistics.h
geometry_state_dialog.h
gsm_map_summary_dialog.h
iax2_analysis_dialog.h
import_text_dialog.h
interface_toolbar.h
interface_toolbar_reader.h
interface_frame.h
io_graph_dialog.h
layout_preferences_frame.h
lbm_lbtrm_transport_dialog.h
lbm_lbtru_transport_dialog.h
lbm_stream_dialog.h
lte_rlc_graph_dialog.h
lte_mac_statistics_dialog.h
lte_rlc_statistics_dialog.h
main_status_bar.h
main_welcome.h
main_window.h
main_window_preferences_frame.h
manage_interfaces_dialog.h
module_preferences_scroll_area.h
mtp3_summary_dialog.h
multicast_statistics_dialog.h
packet_comment_dialog.h
packet_dialog.h
packet_format_group_box.h
packet_list.h
packet_range_group_box.h
preference_editor_frame.h
preferences_dialog.h
print_dialog.h
profile_dialog.h
progress_frame.h
proto_tree.h
protocol_hierarchy_dialog.h
protocol_preferences_menu.h
recent_file_status.h
resolved_addresses_dialog.h
response_time_delay_dialog.h
rpc_service_response_time_dialog.h
rtp_analysis_dialog.h
Qt: Initial RTP playback. Note the "initial". This is woefully incomplete. See the "to do" lists below and in the code. This differs a bit from the GTK+ version in that you specify one or more streams to be decoded. Instead of showing waveforms in individual widgets, add them all to a single QCustomPlot. This conserves screen real estate and lets us more easily take advantage of the QCP API. It also looks better IMHO. Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We probably won't use the widgets until we make 5.0 our minimum Qt version and plain old QtMultimedia lets us support Qt 4 more easily (in theory at least). Add resampling code from libspeex. I initially used this to resample each packet to match the preferred rate of our output device, but this resulted in poorer audio quality than expected. Leave it in and use to create visual samples for QCP and to match rates any time the rate changes. The latter is currently untested. Add some debugging macros. Note that both the RTP player and RTP analysis dialogs decode audio data using different code. Note that voip_calls_packet and voip_calls_init_tap appear to be dead code. To do: - Add silence frames where needed. - Implement the jitter buffer. - Implement the playback timing controls. - Tapping / scanning streams might be too slow. Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4 Bug: 9007 Reviewed-on: https://code.wireshark.org/review/10458 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-13 00:51:40 +00:00
rtp_audio_stream.h
rtp_player_dialog.h
rtp_stream_dialog.h
scsi_service_response_time_dialog.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
show_packet_bytes_dialog.h
splash_overlay.h
stats_tree_dialog.h
service_response_time_dialog.h
simple_statistics_dialog.h
supported_protocols_dialog.h
tabnav_tree_widget.h
tap_parameter_dialog.h
tcp_stream_dialog.h
time_shift_dialog.h
traffic_table_dialog.h
uat_dialog.h
uat_frame.h
voip_calls_dialog.h
wireless_frame.h
wireless_timeline.h
wireshark_application.h
wireshark_dialog.h
wlan_statistics_dialog.h
${WIRESHARK_CUSTOM_QT_HEADERS}
)
if(HAVE_PCAP_REMOTE)
set(WIRESHARK_QT_HEADERS
${WIRESHARK_QT_HEADERS}
remote_capture_dialog.h
remote_settings_dialog.h
)
endif()
if(ENABLE_EXTCAP)
set(WIRESHARK_QT_HEADERS
${WIRESHARK_QT_HEADERS}
extcap_argument.h
extcap_argument_file.h
extcap_argument_multiselect.h
extcap_options_dialog.h
)
endif()
file(GLOB EXTRA_QT_HEADERS
packet_list_record.h
models/sparkline_delegate.h
utils/qt_ui_utils.h
utils/stock_icon.h
)
set(WIRESHARK_WIDGET_SRCS
widgets/additional_toolbar.cpp
widgets/apply_line_edit.cpp
widgets/byte_view_text.cpp
widgets/capture_filter_combo.cpp
widgets/capture_filter_edit.cpp
widgets/clickable_label.cpp
widgets/display_filter_combo.cpp
widgets/display_filter_edit.cpp
widgets/dissector_tables_view.cpp
widgets/drag_drop_toolbar.cpp
widgets/drag_label.cpp
widgets/editor_color_dialog.cpp
widgets/editor_file_dialog.cpp
widgets/elided_label.cpp
widgets/expert_info_view.cpp
widgets/export_objects_view.cpp
widgets/field_filter_edit.cpp
widgets/find_line_edit.cpp
widgets/follow_stream_text.cpp
widgets/interface_toolbar_lineedit.cpp
widgets/label_stack.cpp
widgets/overlay_scroll_bar.cpp
widgets/qcustomplot.cpp
widgets/stock_icon_tool_button.cpp
widgets/syntax_line_edit.cpp
widgets/tabnav_tree_view.cpp
)
set(WIRESHARK_UTILS_SRCS
utils/color_utils.cpp
utils/data_printer.cpp
utils/field_information.cpp
utils/frame_information.cpp
utils/proto_node.cpp
utils/qt_ui_utils.cpp
utils/stock_icon.cpp
utils/wireshark_mime_data.cpp
)
set(WIRESHARK_MODEL_SRCS
models/astringlist_list_model.cpp
models/cache_proxy_model.cpp
models/decode_as_delegate.cpp
models/decode_as_model.cpp
models/dissector_tables_model.cpp
models/enabled_protocols_model.cpp
models/expert_info_model.cpp
models/expert_info_proxy_model.cpp
models/export_objects_model.cpp
models/fileset_entry_model.cpp
models/html_text_delegate.cpp
models/interface_sort_filter_model.cpp
models/interface_tree_cache_model.cpp
models/interface_tree_model.cpp
models/numeric_value_chooser_delegate.cpp
models/packet_list_model.cpp
models/packet_list_record.cpp
models/path_chooser_delegate.cpp
models/percent_bar_delegate.cpp
models/proto_tree_model.cpp
models/related_packet_delegate.cpp
models/sparkline_delegate.cpp
models/supported_protocols_model.cpp
models/timeline_delegate.cpp
models/uat_delegate.cpp
models/uat_model.cpp
models/url_link_delegate.cpp
models/voip_calls_info_model.cpp
)
set(WIRESHARK_QT_SRC
about_dialog.cpp
accordion_frame.cpp
address_editor_frame.cpp
bluetooth_att_server_attributes_dialog.cpp
bluetooth_device_dialog.cpp
bluetooth_devices_dialog.cpp
bluetooth_hci_summary_dialog.cpp
byte_view_tab.cpp
capture_file.cpp
capture_file_dialog.cpp
capture_file_properties_dialog.cpp
capture_filter_syntax_worker.cpp
capture_info_dialog.cpp
capture_interfaces_dialog.cpp
capture_preferences_frame.cpp
coloring_rules_dialog.cpp
column_preferences_frame.cpp
column_editor_frame.cpp
compiled_filter_output.cpp
conversation_colorize_action.cpp
conversation_dialog.cpp
conversation_hash_tables_dialog.cpp
decode_as_dialog.cpp
display_filter_expression_dialog.cpp
dissector_tables_dialog.cpp
enabled_protocols_dialog.cpp
endpoint_dialog.cpp
export_dissection_dialog.cpp
export_object_action.cpp
export_object_dialog.cpp
export_pdu_dialog.cpp
file_set_dialog.cpp
filter_action.cpp
filter_dialog.cpp
filter_expression_frame.cpp
firewall_rules_dialog.cpp
follow_stream_dialog.cpp
font_color_preferences_frame.cpp
funnel_string_dialog.cpp
funnel_text_dialog.cpp
geometry_state_dialog.cpp
iax2_analysis_dialog.cpp
import_text_dialog.cpp
interface_frame.cpp
interface_toolbar.cpp
interface_toolbar_reader.cpp
layout_preferences_frame.cpp
lbm_lbtrm_transport_dialog.cpp
lbm_lbtru_transport_dialog.cpp
lbm_stream_dialog.cpp
lte_mac_statistics_dialog.cpp
lte_rlc_graph_dialog.cpp
lte_rlc_statistics_dialog.cpp
main_status_bar.cpp
main_welcome.cpp
main_window.cpp
main_window_preferences_frame.cpp
main_window_slots.cpp
manage_interfaces_dialog.cpp
module_preferences_scroll_area.cpp
packet_comment_dialog.cpp
packet_dialog.cpp
packet_format_group_box.cpp
packet_list.cpp
packet_range_group_box.cpp
preference_editor_frame.cpp
preferences_dialog.cpp
print_dialog.cpp
profile_dialog.cpp
progress_frame.cpp
proto_tree.cpp
protocol_hierarchy_dialog.cpp
protocol_preferences_menu.cpp
recent_file_status.cpp
resolved_addresses_dialog.cpp
response_time_delay_dialog.cpp
rpc_service_response_time_dialog.cpp
rtp_analysis_dialog.cpp
Qt: Initial RTP playback. Note the "initial". This is woefully incomplete. See the "to do" lists below and in the code. This differs a bit from the GTK+ version in that you specify one or more streams to be decoded. Instead of showing waveforms in individual widgets, add them all to a single QCustomPlot. This conserves screen real estate and lets us more easily take advantage of the QCP API. It also looks better IMHO. Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We probably won't use the widgets until we make 5.0 our minimum Qt version and plain old QtMultimedia lets us support Qt 4 more easily (in theory at least). Add resampling code from libspeex. I initially used this to resample each packet to match the preferred rate of our output device, but this resulted in poorer audio quality than expected. Leave it in and use to create visual samples for QCP and to match rates any time the rate changes. The latter is currently untested. Add some debugging macros. Note that both the RTP player and RTP analysis dialogs decode audio data using different code. Note that voip_calls_packet and voip_calls_init_tap appear to be dead code. To do: - Add silence frames where needed. - Implement the jitter buffer. - Implement the playback timing controls. - Tapping / scanning streams might be too slow. Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4 Bug: 9007 Reviewed-on: https://code.wireshark.org/review/10458 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-13 00:51:40 +00:00
rtp_audio_stream.cpp
rtp_player_dialog.cpp
rtp_stream_dialog.cpp
scsi_service_response_time_dialog.cpp
Qt: Initial RTP playback. Note the "initial". This is woefully incomplete. See the "to do" lists below and in the code. This differs a bit from the GTK+ version in that you specify one or more streams to be decoded. Instead of showing waveforms in individual widgets, add them all to a single QCustomPlot. This conserves screen real estate and lets us more easily take advantage of the QCP API. It also looks better IMHO. Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We probably won't use the widgets until we make 5.0 our minimum Qt version and plain old QtMultimedia lets us support Qt 4 more easily (in theory at least). Add resampling code from libspeex. I initially used this to resample each packet to match the preferred rate of our output device, but this resulted in poorer audio quality than expected. Leave it in and use to create visual samples for QCP and to match rates any time the rate changes. The latter is currently untested. Add some debugging macros. Note that both the RTP player and RTP analysis dialogs decode audio data using different code. Note that voip_calls_packet and voip_calls_init_tap appear to be dead code. To do: - Add silence frames where needed. - Implement the jitter buffer. - Implement the playback timing controls. - Tapping / scanning streams might be too slow. Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4 Bug: 9007 Reviewed-on: https://code.wireshark.org/review/10458 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-13 00:51:40 +00:00
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
service_response_time_dialog.cpp
show_packet_bytes_dialog.cpp
simple_dialog.cpp
simple_statistics_dialog.cpp
splash_overlay.cpp
supported_protocols_dialog.cpp
tabnav_tree_widget.cpp
tap_parameter_dialog.cpp
tcp_stream_dialog.cpp
time_shift_dialog.cpp
traffic_table_dialog.cpp
uat_dialog.cpp
uat_frame.cpp
voip_calls_dialog.cpp
wireless_frame.cpp
wireless_timeline.cpp
wireshark_application.cpp
wireshark_dialog.cpp
${WIRESHARK_CUSTOM_QT_SRCS}
)
if(HAVE_PCAP_REMOTE)
set(WIRESHARK_QT_SRC
${WIRESHARK_QT_SRC}
remote_capture_dialog.cpp
remote_settings_dialog.cpp
)
endif()
if(ENABLE_EXTCAP)
set(WIRESHARK_QT_SRC
${WIRESHARK_QT_SRC}
extcap_argument.cpp
extcap_argument_file.cpp
extcap_argument_multiselect.cpp
extcap_options_dialog.cpp
)
endif()
set(WIRESHARK_QT_TAP_SRC
${CMAKE_CURRENT_SOURCE_DIR}/expert_info_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/funnel_statistics.cpp
${CMAKE_CURRENT_SOURCE_DIR}/gsm_map_summary_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/io_graph_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/lte_mac_statistics_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/lte_rlc_statistics_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/mtp3_summary_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/multicast_statistics_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/rtp_stream_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/sctp_all_assocs_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/sctp_assoc_analyse_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/stats_tree_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/wlan_statistics_dialog.cpp
${WIRESHARK_CUSTOM_TAP_SRC}
)
set(WIRESHARK_QT_FILES
${WIRESHARK_QT_SRC}
${WIRESHARK_QT_TAP_SRC}
)
set(WIRESHARK_QT_UI
about_dialog.ui
address_editor_frame.ui
bluetooth_att_server_attributes_dialog.ui
bluetooth_device_dialog.ui
bluetooth_devices_dialog.ui
bluetooth_hci_summary_dialog.ui
capture_file_properties_dialog.ui
capture_interfaces_dialog.ui
capture_preferences_frame.ui
coloring_rules_dialog.ui
column_preferences_frame.ui
column_editor_frame.ui
compiled_filter_output.ui
conversation_hash_tables_dialog.ui
decode_as_dialog.ui
display_filter_expression_dialog.ui
dissector_tables_dialog.ui
enabled_protocols_dialog.ui
expert_info_dialog.ui
export_object_dialog.ui
export_pdu_dialog.ui
file_set_dialog.ui
filter_dialog.ui
filter_expression_frame.ui
firewall_rules_dialog.ui
follow_stream_dialog.ui
font_color_preferences_frame.ui
funnel_string_dialog.ui
funnel_text_dialog.ui
gsm_map_summary_dialog.ui
iax2_analysis_dialog.ui
import_text_dialog.ui
interface_frame.ui
interface_toolbar.ui
io_graph_dialog.ui
layout_preferences_frame.ui
lbm_lbtrm_transport_dialog.ui
lbm_lbtru_transport_dialog.ui
lbm_stream_dialog.ui
lte_rlc_graph_dialog.ui
main_welcome.ui
main_window.ui
main_window_preferences_frame.ui
manage_interfaces_dialog.ui
module_preferences_scroll_area.ui
mtp3_summary_dialog.ui
packet_comment_dialog.ui
packet_dialog.ui
packet_format_group_box.ui
packet_range_group_box.ui
preference_editor_frame.ui
preferences_dialog.ui
print_dialog.ui
profile_dialog.ui
progress_frame.ui
protocol_hierarchy_dialog.ui
resolved_addresses_dialog.ui
rtp_analysis_dialog.ui
Qt: Initial RTP playback. Note the "initial". This is woefully incomplete. See the "to do" lists below and in the code. This differs a bit from the GTK+ version in that you specify one or more streams to be decoded. Instead of showing waveforms in individual widgets, add them all to a single QCustomPlot. This conserves screen real estate and lets us more easily take advantage of the QCP API. It also looks better IMHO. Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We probably won't use the widgets until we make 5.0 our minimum Qt version and plain old QtMultimedia lets us support Qt 4 more easily (in theory at least). Add resampling code from libspeex. I initially used this to resample each packet to match the preferred rate of our output device, but this resulted in poorer audio quality than expected. Leave it in and use to create visual samples for QCP and to match rates any time the rate changes. The latter is currently untested. Add some debugging macros. Note that both the RTP player and RTP analysis dialogs decode audio data using different code. Note that voip_calls_packet and voip_calls_init_tap appear to be dead code. To do: - Add silence frames where needed. - Implement the jitter buffer. - Implement the playback timing controls. - Tapping / scanning streams might be too slow. Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4 Bug: 9007 Reviewed-on: https://code.wireshark.org/review/10458 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-13 00:51:40 +00:00
rtp_player_dialog.ui
rtp_stream_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
show_packet_bytes_dialog.ui
splash_overlay.ui
supported_protocols_dialog.ui
tap_parameter_dialog.ui
tcp_stream_dialog.ui
time_shift_dialog.ui
traffic_table_dialog.ui
uat_dialog.ui
uat_frame.ui
voip_calls_dialog.ui
wireless_frame.ui
)
if(HAVE_PCAP_REMOTE)
set(WIRESHARK_QT_UI
${WIRESHARK_QT_UI}
remote_capture_dialog.ui
remote_settings_dialog.ui
)
endif()
if(ENABLE_EXTCAP)
set(WIRESHARK_QT_UI
${WIRESHARK_QT_UI}
extcap_options_dialog.ui
)
endif()
set(WIRESHARK_QT_TS
wireshark_de.ts
wireshark_en.ts # lupdate -pluralonly
wireshark_fr.ts
wireshark_it.ts
wireshark_ja_JP.ts
wireshark_pl.ts
wireshark_zh_CN.ts
)
foreach(_file ${WIRESHARK_QT_TS})
get_filename_component(_qresource ${_file} NAME_WE)
set(_qresource_qm "${_qresource}.qm")
set(i18n_qresource "${i18n_qresource}\n <file>${_qresource_qm}</file>")
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc PROPERTIES OBJECT_DEPENDS ${_qresource_qm})
endforeach()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/i18n.qrc.in ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
set(WIRESHARK_QT_QRC
../../image/about.qrc
../../image/languages/languages.qrc
../../image/layout.qrc
../../image/toolbar.qrc
../../image/wsicon.qrc
${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc
)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
SET(CMAKE_AUTOMOC TRUE)
if(CMAKE_VERSION VERSION_LESS "3.0.2")
# AUTOUIC and AUTORCC are not supported in CMAKE 2.8.x
if (QT_VERSION EQUAL 5)
QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
QT5_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
QT5_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
else()
QT4_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
QT4_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
QT4_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
endif()
else()
SET(CMAKE_AUTOUIC TRUE)
SET(CMAKE_AUTORCC TRUE)
set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
set(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
# Add .qrc files to library dependencies for AUTORCC.
set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
if (QT_VERSION EQUAL 5)
QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
else()
QT4_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
endif()
endif()
add_custom_target(
translations ALL
DEPENDS
${WIRESHARK_QT_QM}
)
set_target_properties(translations PROPERTIES FOLDER "UI")
set_source_files_properties(
${WIRESHARK_QT_FILES}
PROPERTIES
COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
)
add_definitions(${QT_DEFINITIONS})
register_tap_files(wireshark-tap-register.c
${WIRESHARK_QT_TAP_SRC}
)
source_group("ui\\UIC Files" FILES ${WIRESHARK_QT_UI})
source_group("ui\\qrc" FILES ${WIRESHARK_QT_QRC})
source_group("ui\\Header" FILES ${WIRESHARK_QT_HEADERS})
source_group("ui\\Widget Header" FILES ${WIRESHARK_WIDGET_HEADERS})
source_group("ui\\Widget Source" FILES ${WIRESHARK_WIDGET_SRCS})
source_group("ui\\Utils Headers Files" FILES ${WIRESHARK_UTILS_HEADERS})
source_group("ui\\Utils Source" FILES ${WIRESHARK_UTILS_SRCS})
source_group("ui\\Models Headers" FILES ${WIRESHARK_MODEL_HEADERS})
source_group("ui\\Models Source" FILES ${WIRESHARK_MODEL_SRCS})
add_library(qtui STATIC
#Included so that Visual Studio can properly put header files in solution
${WIRESHARK_QT_HEADERS}
${WIRESHARK_WIDGET_HEADERS}
${WIRESHARK_UTILS_HEADERS}
${WIRESHARK_MODEL_HEADERS}
${WIRESHARK_QT_SRC}
${WIRESHARK_WIDGET_SRCS}
${WIRESHARK_UTILS_SRCS}
${WIRESHARK_MODEL_SRCS}
${WIRESHARK_QT_TAP_SRC}
${WIRESHARK_QT_UI_SRC}
${WIRESHARK_QT_QRC_SRC}
wireshark-tap-register.c
)
add_dependencies(qtui translations)
set_target_properties(qtui PROPERTIES
LINK_FLAGS "${WS_LINK_FLAGS}"
FOLDER "UI"
)
if(NOT CMAKE_VERSION VERSION_LESS "3.0.2")
# Ensure .qm files are generated before autogenerating i18n.qrc
set_target_properties(qtui PROPERTIES
AUTOGEN_TARGET_DEPENDS "${WIRESHARK_QT_QM}"
)
endif()
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
# Local variables:
# c-basic-offset: 8
# tab-width: 8
# indent-tabs-mode: t
# End:
#
# vi: set shiftwidth=8 tabstop=8 noexpandtab:
# :indentSize=8:tabSize=8:noTabs=false:
#