3 # Wireshark - Network traffic analyzer
4 # By Gerald Combs <gerald@wireshark.org>
5 # Copyright 1998 Gerald Combs
7 # SPDX-License-Identifier: GPL-2.0-or-later
16 ADD_CUSTOM_CMAKE_INCLUDE()
18 set(WIRESHARK_WIDGET_HEADERS
19 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/additional_toolbar.h
20 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/apply_line_edit.h
21 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/byte_view_text.h
22 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/capture_filter_combo.h
23 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/capture_filter_edit.h
24 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/clickable_label.h
25 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/compression_group_box.h
26 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/copy_from_profile_button.h
27 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/detachable_tabwidget.h
28 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/display_filter_combo.h
29 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/display_filter_edit.h
30 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/dissector_syntax_line_edit.h
31 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/dissector_tables_view.h
32 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/drag_drop_toolbar.h
33 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/drag_label.h
34 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/editor_file_dialog.h
35 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/elided_label.h
36 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/expert_info_view.h
37 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/field_filter_edit.h
38 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/filter_expression_toolbar.h
39 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/find_line_edit.h
40 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/follow_stream_text.h
41 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/interface_toolbar_lineedit.h
42 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/label_stack.h
43 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/overlay_scroll_bar.h
44 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/packet_list_header.h
45 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/path_selection_edit.h
46 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/pref_module_view.h
47 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/profile_tree_view.h
48 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcp_axis_ticker_elided.h
49 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcp_axis_ticker_si.h
50 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcp_string_legend_item.h
51 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/range_syntax_lineedit.h
52 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/resize_header_view.h
53 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/resolved_addresses_view.h
54 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/rowmove_tree_view.h
55 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/splash_overlay.h
56 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/stock_icon_tool_button.h
57 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/syntax_line_edit.h
58 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/wireless_timeline.h # Required by PacketListModel
59 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/tabnav_tree_view.h
60 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/traffic_tab.h
61 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/traffic_tree.h
62 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/traffic_types_list.h
63 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/wireshark_file_dialog.h
66 set (STRATOSHARK_WIDGET_HEADERS ${WIRESHARK_WIDGET_HEADERS})
68 set(WIRESHARK_3RD_PARTY_WIDGET_HEADERS
69 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcustomplot.h
72 set (STRATOSHARK_3RD_PARTY_WIDGET_HEADERS ${WIRESHARK_3RD_PARTY_WIDGET_HEADERS})
74 set(WIRESHARK_MANAGER_HEADERS
75 ${CMAKE_SOURCE_DIR}/ui/qt/manager/preference_manager.h
76 ${CMAKE_SOURCE_DIR}/ui/qt/manager/wireshark_preference.h
79 set (STRATOSHARK_MANAGER_HEADERS ${WIRESHARK_MANAGER_HEADERS})
81 set(WIRESHARK_UTILS_HEADERS
82 ${CMAKE_SOURCE_DIR}/ui/qt/utils/color_utils.h
83 ${CMAKE_SOURCE_DIR}/ui/qt/utils/data_printer.h
84 ${CMAKE_SOURCE_DIR}/ui/qt/utils/field_information.h
85 ${CMAKE_SOURCE_DIR}/ui/qt/utils/frame_information.h
86 ${CMAKE_SOURCE_DIR}/ui/qt/utils/idata_printable.h
87 ${CMAKE_SOURCE_DIR}/ui/qt/utils/profile_switcher.h
88 ${CMAKE_SOURCE_DIR}/ui/qt/utils/proto_node.h
89 ${CMAKE_SOURCE_DIR}/ui/qt/utils/qt_ui_utils.h
90 ${CMAKE_SOURCE_DIR}/ui/qt/utils/stock_icon.h
91 ${CMAKE_SOURCE_DIR}/ui/qt/utils/tango_colors.h
92 ${CMAKE_SOURCE_DIR}/ui/qt/utils/variant_pointer.h
93 ${CMAKE_SOURCE_DIR}/ui/qt/utils/wireshark_mime_data.h
94 ${CMAKE_SOURCE_DIR}/ui/qt/utils/wireshark_zip_helper.h
97 set (STRATOSHARK_UTILS_HEADERS ${WIRESHARK_UTILS_HEADERS})
99 set(WIRESHARK_MODEL_HEADERS
100 ${CMAKE_SOURCE_DIR}/ui/qt/models/astringlist_list_model.h
101 ${CMAKE_SOURCE_DIR}/ui/qt/models/atap_data_model.h
102 ${CMAKE_SOURCE_DIR}/ui/qt/models/cache_proxy_model.h
103 ${CMAKE_SOURCE_DIR}/ui/qt/models/coloring_rules_delegate.h
104 ${CMAKE_SOURCE_DIR}/ui/qt/models/coloring_rules_model.h
105 ${CMAKE_SOURCE_DIR}/ui/qt/models/column_list_model.h
106 ${CMAKE_SOURCE_DIR}/ui/qt/models/decode_as_delegate.h
107 ${CMAKE_SOURCE_DIR}/ui/qt/models/decode_as_model.h
108 ${CMAKE_SOURCE_DIR}/ui/qt/models/dissector_tables_model.h
109 ${CMAKE_SOURCE_DIR}/ui/qt/models/enabled_protocols_model.h
110 ${CMAKE_SOURCE_DIR}/ui/qt/models/expert_info_model.h
111 ${CMAKE_SOURCE_DIR}/ui/qt/models/expert_info_proxy_model.h
112 ${CMAKE_SOURCE_DIR}/ui/qt/models/fileset_entry_model.h
113 ${CMAKE_SOURCE_DIR}/ui/qt/models/filter_list_model.h
114 ${CMAKE_SOURCE_DIR}/ui/qt/models/info_proxy_model.h
115 ${CMAKE_SOURCE_DIR}/ui/qt/models/interface_sort_filter_model.h
116 ${CMAKE_SOURCE_DIR}/ui/qt/models/interface_tree_cache_model.h
117 ${CMAKE_SOURCE_DIR}/ui/qt/models/interface_tree_model.h
118 ${CMAKE_SOURCE_DIR}/ui/qt/models/numeric_value_chooser_delegate.h
119 ${CMAKE_SOURCE_DIR}/ui/qt/models/packet_list_model.h
120 ${CMAKE_SOURCE_DIR}/ui/qt/models/packet_list_record.h
121 ${CMAKE_SOURCE_DIR}/ui/qt/models/path_selection_delegate.h
122 ${CMAKE_SOURCE_DIR}/ui/qt/models/percent_bar_delegate.h
123 ${CMAKE_SOURCE_DIR}/ui/qt/models/pref_delegate.h
124 ${CMAKE_SOURCE_DIR}/ui/qt/models/pref_models.h
125 ${CMAKE_SOURCE_DIR}/ui/qt/models/profile_model.h
126 ${CMAKE_SOURCE_DIR}/ui/qt/models/proto_tree_model.h
127 ${CMAKE_SOURCE_DIR}/ui/qt/models/related_packet_delegate.h
128 ${CMAKE_SOURCE_DIR}/ui/qt/models/resolved_addresses_models.h
129 ${CMAKE_SOURCE_DIR}/ui/qt/models/sparkline_delegate.h
130 ${CMAKE_SOURCE_DIR}/ui/qt/models/supported_protocols_model.h
131 ${CMAKE_SOURCE_DIR}/ui/qt/models/timeline_delegate.h
132 ${CMAKE_SOURCE_DIR}/ui/qt/models/tree_model_helpers.h
133 ${CMAKE_SOURCE_DIR}/ui/qt/models/uat_delegate.h
134 ${CMAKE_SOURCE_DIR}/ui/qt/models/uat_model.h
135 ${CMAKE_SOURCE_DIR}/ui/qt/models/url_link_delegate.h
138 set (STRATOSHARK_MODEL_HEADERS ${WIRESHARK_MODEL_HEADERS})
140 # All .h files which inherit from QObject aka which use the Q_OBJECT macro
142 set(WIRESHARK_QT_HEADERS
143 ${CMAKE_SOURCE_DIR}/ui/qt/about_dialog.h
144 ${CMAKE_SOURCE_DIR}/ui/qt/accordion_frame.h
145 ${CMAKE_SOURCE_DIR}/ui/qt/address_editor_frame.h
146 ${CMAKE_SOURCE_DIR}/ui/qt/byte_view_tab.h
147 ${CMAKE_SOURCE_DIR}/ui/qt/capture_comment_dialog.h
148 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file_dialog.h
149 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file_properties_dialog.h
150 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file.h
151 ${CMAKE_SOURCE_DIR}/ui/qt/capture_filter_syntax_worker.h
152 ${CMAKE_SOURCE_DIR}/ui/qt/capture_options_dialog.h
153 ${CMAKE_SOURCE_DIR}/ui/qt/capture_preferences_frame.h
154 ${CMAKE_SOURCE_DIR}/ui/qt/coloring_rules_dialog.h
155 ${CMAKE_SOURCE_DIR}/ui/qt/column_editor_frame.h
156 ${CMAKE_SOURCE_DIR}/ui/qt/column_preferences_frame.h
157 ${CMAKE_SOURCE_DIR}/ui/qt/compiled_filter_output.h
158 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_colorize_action.h
159 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_dialog.h
160 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_hash_tables_dialog.h
161 ${CMAKE_SOURCE_DIR}/ui/qt/decode_as_dialog.h
162 ${CMAKE_SOURCE_DIR}/ui/qt/display_filter_expression_dialog.h
163 ${CMAKE_SOURCE_DIR}/ui/qt/dissector_tables_dialog.h
164 ${CMAKE_SOURCE_DIR}/ui/qt/enabled_protocols_dialog.h
165 ${CMAKE_SOURCE_DIR}/ui/qt/endpoint_dialog.h
166 ${CMAKE_SOURCE_DIR}/ui/qt/expert_info_dialog.h
167 ${CMAKE_SOURCE_DIR}/ui/qt/export_dissection_dialog.h
168 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_argument_file.h
169 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_argument_multiselect.h
170 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_argument.h
171 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_options_dialog.h
172 ${CMAKE_SOURCE_DIR}/ui/qt/file_set_dialog.h
173 ${CMAKE_SOURCE_DIR}/ui/qt/filter_action.h
174 ${CMAKE_SOURCE_DIR}/ui/qt/filter_dialog.h
175 ${CMAKE_SOURCE_DIR}/ui/qt/filter_expression_frame.h
176 ${CMAKE_SOURCE_DIR}/ui/qt/follow_stream_action.h
177 ${CMAKE_SOURCE_DIR}/ui/qt/follow_stream_dialog.h
178 ${CMAKE_SOURCE_DIR}/ui/qt/font_color_preferences_frame.h
179 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_statistics.h
180 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_string_dialog.h
181 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_text_dialog.h
182 ${CMAKE_SOURCE_DIR}/ui/qt/geometry_state_dialog.h
183 ${CMAKE_SOURCE_DIR}/ui/qt/glib_mainloop_on_qeventloop.h
184 ${CMAKE_SOURCE_DIR}/ui/qt/import_text_dialog.h
185 ${CMAKE_SOURCE_DIR}/ui/qt/interface_frame.h
186 ${CMAKE_SOURCE_DIR}/ui/qt/interface_toolbar_reader.h
187 ${CMAKE_SOURCE_DIR}/ui/qt/interface_toolbar.h
188 ${CMAKE_SOURCE_DIR}/ui/qt/io_console_dialog.h
189 ${CMAKE_SOURCE_DIR}/ui/qt/io_graph_action.h
190 ${CMAKE_SOURCE_DIR}/ui/qt/io_graph_dialog.h
191 ${CMAKE_SOURCE_DIR}/ui/qt/layout_preferences_frame.h
192 ${CMAKE_SOURCE_DIR}/ui/qt/main_application.h
193 ${CMAKE_SOURCE_DIR}/ui/qt/main_status_bar.h
194 ${CMAKE_SOURCE_DIR}/ui/qt/main_window_preferences_frame.h
195 ${CMAKE_SOURCE_DIR}/ui/qt/main_window.h
196 ${CMAKE_SOURCE_DIR}/ui/qt/manage_interfaces_dialog.h
197 ${CMAKE_SOURCE_DIR}/ui/qt/module_preferences_scroll_area.h
198 ${CMAKE_SOURCE_DIR}/ui/qt/packet_comment_dialog.h
199 ${CMAKE_SOURCE_DIR}/ui/qt/packet_dialog.h
200 ${CMAKE_SOURCE_DIR}/ui/qt/packet_format_group_box.h
201 ${CMAKE_SOURCE_DIR}/ui/qt/packet_list.h
202 ${CMAKE_SOURCE_DIR}/ui/qt/packet_range_group_box.h
203 ${CMAKE_SOURCE_DIR}/ui/qt/preference_editor_frame.h
204 ${CMAKE_SOURCE_DIR}/ui/qt/preferences_dialog.h
205 ${CMAKE_SOURCE_DIR}/ui/qt/print_dialog.h
206 ${CMAKE_SOURCE_DIR}/ui/qt/profile_dialog.h
207 ${CMAKE_SOURCE_DIR}/ui/qt/progress_frame.h
208 ${CMAKE_SOURCE_DIR}/ui/qt/proto_tree.h
209 ${CMAKE_SOURCE_DIR}/ui/qt/protocol_hierarchy_dialog.h
210 ${CMAKE_SOURCE_DIR}/ui/qt/protocol_preferences_menu.h
211 ${CMAKE_SOURCE_DIR}/ui/qt/recent_file_status.h
212 ${CMAKE_SOURCE_DIR}/ui/qt/resolved_addresses_dialog.h
213 ${CMAKE_SOURCE_DIR}/ui/qt/response_time_delay_dialog.h
214 ${CMAKE_SOURCE_DIR}/ui/qt/rsa_keys_frame.h
215 ${CMAKE_SOURCE_DIR}/ui/qt/search_frame.h
216 # XXX Depends on RTP Stream Dialog
217 # ${CMAKE_SOURCE_DIR}/ui/qt/sequence_diagram.h
218 # ${CMAKE_SOURCE_DIR}/ui/qt/sequence_dialog.h
219 ${CMAKE_SOURCE_DIR}/ui/qt/show_packet_bytes_dialog.h
220 ${CMAKE_SOURCE_DIR}/ui/qt/simple_statistics_dialog.h
221 ${CMAKE_SOURCE_DIR}/ui/qt/stats_tree_dialog.h
222 ${CMAKE_SOURCE_DIR}/ui/qt/supported_protocols_dialog.h
223 ${CMAKE_SOURCE_DIR}/ui/qt/tabnav_tree_widget.h
224 ${CMAKE_SOURCE_DIR}/ui/qt/tap_parameter_dialog.h
225 ${CMAKE_SOURCE_DIR}/ui/qt/tcp_stream_dialog.h
226 ${CMAKE_SOURCE_DIR}/ui/qt/time_shift_dialog.h
227 ${CMAKE_SOURCE_DIR}/ui/qt/traffic_table_dialog.h
228 ${CMAKE_SOURCE_DIR}/ui/qt/uat_dialog.h
229 ${CMAKE_SOURCE_DIR}/ui/qt/uat_frame.h
230 ${CMAKE_SOURCE_DIR}/ui/qt/welcome_page.h
231 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_dialog.h
234 if(WIRESHARK_CUSTOM_QT_HEADERS)
235 list(APPEND WIRESHARK_QT_HEADERS
236 ${CMAKE_SOURCE_DIR}/ui/qt/${WIRESHARK_CUSTOM_QT_HEADERS}
241 list(APPEND WIRESHARK_QT_HEADERS
242 ${CMAKE_SOURCE_DIR}/ui/qt/capture_info_dialog.h
245 list(APPEND WIRESHARK_QT_HEADERS
246 ${CMAKE_SOURCE_DIR}/ui/qt/remote_capture_dialog.h
247 ${CMAKE_SOURCE_DIR}/ui/qt/remote_settings_dialog.h
252 set (STRATOSHARK_QT_HEADERS
253 stratoshark_application.h
254 stratoshark_main_window.h
255 ${WIRESHARK_QT_HEADERS}
258 set(WIRESHARK_WIDGET_SRCS
259 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/additional_toolbar.cpp
260 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/apply_line_edit.cpp
261 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/byte_view_text.cpp
262 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/capture_filter_combo.cpp
263 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/capture_filter_edit.cpp
264 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/clickable_label.cpp
265 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/compression_group_box.cpp
266 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/copy_from_profile_button.cpp
267 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/detachable_tabwidget.cpp
268 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/display_filter_combo.cpp
269 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/display_filter_edit.cpp
270 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/dissector_syntax_line_edit.cpp
271 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/dissector_tables_view.cpp
272 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/drag_drop_toolbar.cpp
273 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/drag_label.cpp
274 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/editor_file_dialog.cpp
275 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/elided_label.cpp
276 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/expert_info_view.cpp
277 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/field_filter_edit.cpp
278 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/filter_expression_toolbar.cpp
279 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/find_line_edit.cpp
280 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/follow_stream_text.cpp
281 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/interface_toolbar_lineedit.cpp
282 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/label_stack.cpp
283 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/overlay_scroll_bar.cpp
284 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/packet_list_header.cpp
285 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/path_selection_edit.cpp
286 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/pref_module_view.cpp
287 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/profile_tree_view.cpp
288 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcp_axis_ticker_elided.cpp
289 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcp_axis_ticker_si.cpp
290 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcp_string_legend_item.cpp
291 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/range_syntax_lineedit.cpp
292 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/resize_header_view.cpp
293 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/resolved_addresses_view.cpp
294 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/rowmove_tree_view.cpp
295 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/splash_overlay.cpp
296 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/stock_icon_tool_button.cpp
297 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/syntax_line_edit.cpp
298 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/wireless_timeline.cpp # Required by PacketListModel
299 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/tabnav_tree_view.cpp
300 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/traffic_tab.cpp
301 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/traffic_tree.cpp
302 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/traffic_types_list.cpp
303 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/wireshark_file_dialog.cpp
306 set (STRATOSHARK_WIDGET_SRCS ${WIRESHARK_WIDGET_SRCS})
308 set(WIRESHARK_3RD_PARTY_WIDGET_SRCS
309 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/qcustomplot.cpp
312 set (STRATOSHARK_3RD_PARTY_WIDGET_SRCS ${WIRESHARK_3RD_PARTY_WIDGET_SRCS})
314 set(WIRESHARK_MANAGER_SRCS
315 ${CMAKE_SOURCE_DIR}/ui/qt/manager/preference_manager.cpp
316 ${CMAKE_SOURCE_DIR}/ui/qt/manager/wireshark_preference.cpp
319 set (STRATOSHARK_MANAGER_SRCS ${WIRESHARK_MANAGER_SRCS})
321 set(WIRESHARK_UTILS_SRCS
322 ${CMAKE_SOURCE_DIR}/ui/qt/utils/color_utils.cpp
323 ${CMAKE_SOURCE_DIR}/ui/qt/utils/data_printer.cpp
324 ${CMAKE_SOURCE_DIR}/ui/qt/utils/field_information.cpp
325 ${CMAKE_SOURCE_DIR}/ui/qt/utils/frame_information.cpp
326 ${CMAKE_SOURCE_DIR}/ui/qt/utils/profile_switcher.cpp
327 ${CMAKE_SOURCE_DIR}/ui/qt/utils/proto_node.cpp
328 ${CMAKE_SOURCE_DIR}/ui/qt/utils/qt_ui_utils.cpp
329 ${CMAKE_SOURCE_DIR}/ui/qt/utils/stock_icon.cpp
330 ${CMAKE_SOURCE_DIR}/ui/qt/utils/wireshark_mime_data.cpp
331 ${CMAKE_SOURCE_DIR}/ui/qt/utils/wireshark_zip_helper.cpp
334 set (STRATOSHARK_UTILS_SRCS ${WIRESHARK_UTILS_SRCS})
336 set(WIRESHARK_MODEL_SRCS
337 ${CMAKE_SOURCE_DIR}/ui/qt/models/astringlist_list_model.cpp
338 ${CMAKE_SOURCE_DIR}/ui/qt/models/atap_data_model.cpp
339 ${CMAKE_SOURCE_DIR}/ui/qt/models/cache_proxy_model.cpp
340 ${CMAKE_SOURCE_DIR}/ui/qt/models/coloring_rules_delegate.cpp
341 ${CMAKE_SOURCE_DIR}/ui/qt/models/coloring_rules_model.cpp
342 ${CMAKE_SOURCE_DIR}/ui/qt/models/column_list_model.cpp
343 ${CMAKE_SOURCE_DIR}/ui/qt/models/decode_as_delegate.cpp
344 ${CMAKE_SOURCE_DIR}/ui/qt/models/decode_as_model.cpp
345 ${CMAKE_SOURCE_DIR}/ui/qt/models/dissector_tables_model.cpp
346 ${CMAKE_SOURCE_DIR}/ui/qt/models/enabled_protocols_model.cpp
347 ${CMAKE_SOURCE_DIR}/ui/qt/models/expert_info_model.cpp
348 ${CMAKE_SOURCE_DIR}/ui/qt/models/expert_info_proxy_model.cpp
349 ${CMAKE_SOURCE_DIR}/ui/qt/models/fileset_entry_model.cpp
350 ${CMAKE_SOURCE_DIR}/ui/qt/models/filter_list_model.cpp
351 ${CMAKE_SOURCE_DIR}/ui/qt/models/info_proxy_model.cpp
352 ${CMAKE_SOURCE_DIR}/ui/qt/models/interface_sort_filter_model.cpp
353 ${CMAKE_SOURCE_DIR}/ui/qt/models/interface_tree_cache_model.cpp
354 ${CMAKE_SOURCE_DIR}/ui/qt/models/interface_tree_model.cpp
355 ${CMAKE_SOURCE_DIR}/ui/qt/models/numeric_value_chooser_delegate.cpp
356 ${CMAKE_SOURCE_DIR}/ui/qt/models/packet_list_model.cpp
357 ${CMAKE_SOURCE_DIR}/ui/qt/models/packet_list_record.cpp
358 ${CMAKE_SOURCE_DIR}/ui/qt/models/path_selection_delegate.cpp
359 ${CMAKE_SOURCE_DIR}/ui/qt/models/percent_bar_delegate.cpp
360 ${CMAKE_SOURCE_DIR}/ui/qt/models/pref_delegate.cpp
361 ${CMAKE_SOURCE_DIR}/ui/qt/models/pref_models.cpp
362 ${CMAKE_SOURCE_DIR}/ui/qt/models/profile_model.cpp
363 ${CMAKE_SOURCE_DIR}/ui/qt/models/proto_tree_model.cpp
364 ${CMAKE_SOURCE_DIR}/ui/qt/models/related_packet_delegate.cpp
365 ${CMAKE_SOURCE_DIR}/ui/qt/models/resolved_addresses_models.cpp
366 ${CMAKE_SOURCE_DIR}/ui/qt/models/sparkline_delegate.cpp
367 ${CMAKE_SOURCE_DIR}/ui/qt/models/supported_protocols_model.cpp
368 ${CMAKE_SOURCE_DIR}/ui/qt/models/timeline_delegate.cpp
369 ${CMAKE_SOURCE_DIR}/ui/qt/models/uat_delegate.cpp
370 ${CMAKE_SOURCE_DIR}/ui/qt/models/uat_model.cpp
371 ${CMAKE_SOURCE_DIR}/ui/qt/models/url_link_delegate.cpp
374 set (STRATOSHARK_MODEL_SRCS ${WIRESHARK_MODEL_SRCS})
377 ${CMAKE_SOURCE_DIR}/ui/qt/about_dialog.cpp
378 ${CMAKE_SOURCE_DIR}/ui/qt/accordion_frame.cpp
379 ${CMAKE_SOURCE_DIR}/ui/qt/address_editor_frame.cpp
380 ${CMAKE_SOURCE_DIR}/ui/qt/byte_view_tab.cpp
381 ${CMAKE_SOURCE_DIR}/ui/qt/capture_comment_dialog.cpp
382 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file_dialog.cpp
383 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file_properties_dialog.cpp
384 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file.cpp
385 ${CMAKE_SOURCE_DIR}/ui/qt/capture_filter_syntax_worker.cpp
386 ${CMAKE_SOURCE_DIR}/ui/qt/capture_options_dialog.cpp
387 ${CMAKE_SOURCE_DIR}/ui/qt/capture_preferences_frame.cpp
388 ${CMAKE_SOURCE_DIR}/ui/qt/coloring_rules_dialog.cpp
389 ${CMAKE_SOURCE_DIR}/ui/qt/column_editor_frame.cpp
390 ${CMAKE_SOURCE_DIR}/ui/qt/column_preferences_frame.cpp
391 ${CMAKE_SOURCE_DIR}/ui/qt/compiled_filter_output.cpp
392 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_colorize_action.cpp
393 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_dialog.cpp
394 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_hash_tables_dialog.cpp
395 # XXX Required by packet list
396 ${CMAKE_SOURCE_DIR}/ui/qt/decode_as_dialog.cpp
397 ${CMAKE_SOURCE_DIR}/ui/qt/display_filter_expression_dialog.cpp
398 ${CMAKE_SOURCE_DIR}/ui/qt/dissector_tables_dialog.cpp
399 ${CMAKE_SOURCE_DIR}/ui/qt/enabled_protocols_dialog.cpp
400 ${CMAKE_SOURCE_DIR}/ui/qt/endpoint_dialog.cpp
401 ${CMAKE_SOURCE_DIR}/ui/qt/export_dissection_dialog.cpp
402 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_argument_file.cpp
403 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_argument_multiselect.cpp
404 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_argument.cpp
405 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_options_dialog.cpp
406 ${CMAKE_SOURCE_DIR}/ui/qt/file_set_dialog.cpp
407 ${CMAKE_SOURCE_DIR}/ui/qt/filter_action.cpp
408 ${CMAKE_SOURCE_DIR}/ui/qt/filter_dialog.cpp
409 ${CMAKE_SOURCE_DIR}/ui/qt/filter_expression_frame.cpp
410 ${CMAKE_SOURCE_DIR}/ui/qt/follow_stream_dialog.cpp
411 ${CMAKE_SOURCE_DIR}/ui/qt/follow_stream_action.cpp
412 ${CMAKE_SOURCE_DIR}/ui/qt/font_color_preferences_frame.cpp
413 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_string_dialog.cpp
414 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_text_dialog.cpp
415 ${CMAKE_SOURCE_DIR}/ui/qt/geometry_state_dialog.cpp
416 ${CMAKE_SOURCE_DIR}/ui/qt/glib_mainloop_on_qeventloop.cpp
417 ${CMAKE_SOURCE_DIR}/ui/qt/import_text_dialog.cpp
418 ${CMAKE_SOURCE_DIR}/ui/qt/interface_frame.cpp
419 ${CMAKE_SOURCE_DIR}/ui/qt/interface_toolbar_reader.cpp
420 ${CMAKE_SOURCE_DIR}/ui/qt/interface_toolbar.cpp
421 ${CMAKE_SOURCE_DIR}/ui/qt/io_console_dialog.cpp
422 ${CMAKE_SOURCE_DIR}/ui/qt/io_graph_action.cpp
423 ${CMAKE_SOURCE_DIR}/ui/qt/layout_preferences_frame.cpp
424 ${CMAKE_SOURCE_DIR}/ui/qt/main_application.cpp
425 ${CMAKE_SOURCE_DIR}/ui/qt/main_status_bar.cpp
426 ${CMAKE_SOURCE_DIR}/ui/qt/main_window_layout.cpp
427 ${CMAKE_SOURCE_DIR}/ui/qt/main_window_preferences_frame.cpp
428 ${CMAKE_SOURCE_DIR}/ui/qt/main_window.cpp
429 ${CMAKE_SOURCE_DIR}/ui/qt/manage_interfaces_dialog.cpp
430 ${CMAKE_SOURCE_DIR}/ui/qt/module_preferences_scroll_area.cpp
431 ${CMAKE_SOURCE_DIR}/ui/qt/packet_comment_dialog.cpp
432 ${CMAKE_SOURCE_DIR}/ui/qt/packet_dialog.cpp
433 ${CMAKE_SOURCE_DIR}/ui/qt/packet_format_group_box.cpp
434 ${CMAKE_SOURCE_DIR}/ui/qt/packet_list.cpp
435 ${CMAKE_SOURCE_DIR}/ui/qt/packet_range_group_box.cpp
436 ${CMAKE_SOURCE_DIR}/ui/qt/preference_editor_frame.cpp
437 ${CMAKE_SOURCE_DIR}/ui/qt/preferences_dialog.cpp
438 ${CMAKE_SOURCE_DIR}/ui/qt/print_dialog.cpp
439 ${CMAKE_SOURCE_DIR}/ui/qt/profile_dialog.cpp
440 ${CMAKE_SOURCE_DIR}/ui/qt/progress_frame.cpp
441 ${CMAKE_SOURCE_DIR}/ui/qt/proto_tree.cpp
442 ${CMAKE_SOURCE_DIR}/ui/qt/protocol_hierarchy_dialog.cpp
443 ${CMAKE_SOURCE_DIR}/ui/qt/protocol_preferences_menu.cpp
444 ${CMAKE_SOURCE_DIR}/ui/qt/recent_file_status.cpp
445 ${CMAKE_SOURCE_DIR}/ui/qt/resolved_addresses_dialog.cpp
446 ${CMAKE_SOURCE_DIR}/ui/qt/response_time_delay_dialog.cpp
447 ${CMAKE_SOURCE_DIR}/ui/qt/rsa_keys_frame.cpp
448 ${CMAKE_SOURCE_DIR}/ui/qt/search_frame.cpp
449 # XXX Depends on RTP Stream Dialog
450 # ${CMAKE_SOURCE_DIR}/ui/qt/sequence_diagram.cpp
451 # ${CMAKE_SOURCE_DIR}/ui/qt/sequence_dialog.cpp
452 ${CMAKE_SOURCE_DIR}/ui/qt/show_packet_bytes_dialog.cpp
453 ${CMAKE_SOURCE_DIR}/ui/qt/simple_dialog.cpp
454 ${CMAKE_SOURCE_DIR}/ui/qt/simple_statistics_dialog.cpp
455 ${CMAKE_SOURCE_DIR}/ui/qt/supported_protocols_dialog.cpp
456 ${CMAKE_SOURCE_DIR}/ui/qt/tabnav_tree_widget.cpp
457 ${CMAKE_SOURCE_DIR}/ui/qt/tap_parameter_dialog.cpp
458 ${CMAKE_SOURCE_DIR}/ui/qt/tcp_stream_dialog.cpp
459 ${CMAKE_SOURCE_DIR}/ui/qt/time_shift_dialog.cpp
460 ${CMAKE_SOURCE_DIR}/ui/qt/traffic_table_dialog.cpp
461 ${CMAKE_SOURCE_DIR}/ui/qt/uat_dialog.cpp
462 ${CMAKE_SOURCE_DIR}/ui/qt/uat_frame.cpp
463 ${CMAKE_SOURCE_DIR}/ui/qt/welcome_page.cpp
464 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_dialog.cpp
467 if(WIRESHARK_CUSTOM_QT_SRCS)
468 list(APPEND WIRESHARK_QT_SRC
469 ${CMAKE_SOURCE_DIR}/ui/qt/${WIRESHARK_CUSTOM_QT_SRCS}
474 list(APPEND WIRESHARK_QT_SRC
475 ${CMAKE_SOURCE_DIR}/ui/qt/capture_info_dialog.cpp
478 list(APPEND WIRESHARK_QT_SRC
479 ${CMAKE_SOURCE_DIR}/ui/qt/remote_capture_dialog.cpp
480 ${CMAKE_SOURCE_DIR}/ui/qt/remote_settings_dialog.cpp
485 set (STRATOSHARK_QT_SRC
486 stratoshark_application.cpp
488 stratoshark_main_window.cpp
489 stratoshark_main_window_slots.cpp
492 set(WIRESHARK_QT_TAP_SRC
493 ${CMAKE_SOURCE_DIR}/ui/qt/expert_info_dialog.cpp
494 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_statistics.cpp
495 ${CMAKE_SOURCE_DIR}/ui/qt/io_graph_dialog.cpp
496 ${CMAKE_SOURCE_DIR}/ui/qt/stats_tree_dialog.cpp
497 ${WIRESHARK_CUSTOM_TAP_SRC}
500 set (STRATOSHARK_QT_TAP_SRC ${WIRESHARK_QT_TAP_SRC})
502 set(WIRESHARK_QT_FILES
504 ${WIRESHARK_QT_TAP_SRC}
507 set (STRATOSHARK_QT_FILES ${WIRESHARK_QT_FILES})
510 ${CMAKE_SOURCE_DIR}/ui/qt/about_dialog.ui
511 ${CMAKE_SOURCE_DIR}/ui/qt/address_editor_frame.ui
512 ${CMAKE_SOURCE_DIR}/ui/qt/capture_comment_dialog.ui
513 ${CMAKE_SOURCE_DIR}/ui/qt/capture_file_properties_dialog.ui
514 ${CMAKE_SOURCE_DIR}/ui/qt/capture_info_dialog.ui
515 ${CMAKE_SOURCE_DIR}/ui/qt/capture_options_dialog.ui
516 ${CMAKE_SOURCE_DIR}/ui/qt/capture_preferences_frame.ui
517 ${CMAKE_SOURCE_DIR}/ui/qt/coloring_rules_dialog.ui
518 ${CMAKE_SOURCE_DIR}/ui/qt/column_editor_frame.ui
519 ${CMAKE_SOURCE_DIR}/ui/qt/column_preferences_frame.ui
520 ${CMAKE_SOURCE_DIR}/ui/qt/compiled_filter_output.ui
521 ${CMAKE_SOURCE_DIR}/ui/qt/conversation_hash_tables_dialog.ui
522 ${CMAKE_SOURCE_DIR}/ui/qt/decode_as_dialog.ui
523 ${CMAKE_SOURCE_DIR}/ui/qt/display_filter_expression_dialog.ui
524 ${CMAKE_SOURCE_DIR}/ui/qt/dissector_tables_dialog.ui
525 ${CMAKE_SOURCE_DIR}/ui/qt/enabled_protocols_dialog.ui
526 ${CMAKE_SOURCE_DIR}/ui/qt/expert_info_dialog.ui
527 ${CMAKE_SOURCE_DIR}/ui/qt/extcap_options_dialog.ui
528 ${CMAKE_SOURCE_DIR}/ui/qt/file_set_dialog.ui
529 ${CMAKE_SOURCE_DIR}/ui/qt/filter_dialog.ui
530 ${CMAKE_SOURCE_DIR}/ui/qt/filter_expression_frame.ui
531 ${CMAKE_SOURCE_DIR}/ui/qt/follow_stream_dialog.ui
532 ${CMAKE_SOURCE_DIR}/ui/qt/font_color_preferences_frame.ui
533 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_string_dialog.ui
534 ${CMAKE_SOURCE_DIR}/ui/qt/funnel_text_dialog.ui
535 ${CMAKE_SOURCE_DIR}/ui/qt/import_text_dialog.ui
536 ${CMAKE_SOURCE_DIR}/ui/qt/interface_frame.ui
537 ${CMAKE_SOURCE_DIR}/ui/qt/interface_toolbar.ui
538 ${CMAKE_SOURCE_DIR}/ui/qt/io_console_dialog.ui
539 ${CMAKE_SOURCE_DIR}/ui/qt/io_graph_dialog.ui
540 ${CMAKE_SOURCE_DIR}/ui/qt/layout_preferences_frame.ui
541 ${CMAKE_SOURCE_DIR}/ui/qt/main_window_preferences_frame.ui
542 ${CMAKE_SOURCE_DIR}/ui/qt/manage_interfaces_dialog.ui
543 ${CMAKE_SOURCE_DIR}/ui/qt/module_preferences_scroll_area.ui
544 ${CMAKE_SOURCE_DIR}/ui/qt/packet_comment_dialog.ui
545 ${CMAKE_SOURCE_DIR}/ui/qt/packet_dialog.ui
546 ${CMAKE_SOURCE_DIR}/ui/qt/packet_format_group_box.ui
547 ${CMAKE_SOURCE_DIR}/ui/qt/packet_range_group_box.ui
548 ${CMAKE_SOURCE_DIR}/ui/qt/preference_editor_frame.ui
549 ${CMAKE_SOURCE_DIR}/ui/qt/preferences_dialog.ui
550 ${CMAKE_SOURCE_DIR}/ui/qt/print_dialog.ui
551 ${CMAKE_SOURCE_DIR}/ui/qt/profile_dialog.ui
552 ${CMAKE_SOURCE_DIR}/ui/qt/progress_frame.ui
553 ${CMAKE_SOURCE_DIR}/ui/qt/protocol_hierarchy_dialog.ui
554 ${CMAKE_SOURCE_DIR}/ui/qt/resolved_addresses_dialog.ui
555 ${CMAKE_SOURCE_DIR}/ui/qt/rsa_keys_frame.ui
556 ${CMAKE_SOURCE_DIR}/ui/qt/search_frame.ui
557 # XXX Depends on RTP Stream Dialog
558 # ${CMAKE_SOURCE_DIR}/ui/qt/sequence_dialog.ui
559 ${CMAKE_SOURCE_DIR}/ui/qt/show_packet_bytes_dialog.ui
560 ${CMAKE_SOURCE_DIR}/ui/qt/supported_protocols_dialog.ui
561 ${CMAKE_SOURCE_DIR}/ui/qt/tap_parameter_dialog.ui
562 ${CMAKE_SOURCE_DIR}/ui/qt/tcp_stream_dialog.ui
563 ${CMAKE_SOURCE_DIR}/ui/qt/time_shift_dialog.ui
564 ${CMAKE_SOURCE_DIR}/ui/qt/traffic_table_dialog.ui
565 ${CMAKE_SOURCE_DIR}/ui/qt/uat_dialog.ui
566 ${CMAKE_SOURCE_DIR}/ui/qt/uat_frame.ui
567 ${CMAKE_SOURCE_DIR}/ui/qt/welcome_page.ui
568 ${CMAKE_SOURCE_DIR}/ui/qt/widgets/splash_overlay.ui
572 list(APPEND WIRESHARK_QT_UI
573 ${CMAKE_SOURCE_DIR}/ui/qt/remote_capture_dialog.ui
574 ${CMAKE_SOURCE_DIR}/ui/qt/remote_settings_dialog.ui
578 set (STRATOSHARK_QT_UI
579 stratoshark_main_window.ui
584 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_de.ts
585 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_en.ts # lupdate -pluralonly
586 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_es.ts
587 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_fr.ts
588 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_it.ts
589 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_ja_JP.ts
590 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_pl.ts
591 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_ru.ts
592 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_sv.ts
593 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_tr_TR.ts
594 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_uk.ts
595 ${CMAKE_SOURCE_DIR}/ui/qt/wireshark_zh_CN.ts
598 set(STRATOSHARK_QT_TS
603 foreach(_file ${STRATOSHARK_QT_TS})
604 get_filename_component(_qresource ${_file} NAME_WE)
605 set(_qresource_qm "${_qresource}.qm")
606 set(i18n_qresource "${i18n_qresource}\n <file>${_qresource_qm}</file>")
608 configure_file(i18n.qrc.in ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
610 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/authors.qrc"
612 " <qresource prefix=\"/about\">\n"
613 " <file compress-algo=\"zstd\">authors.csv</file>\n"
619 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/authors.csv
620 COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/make-authors-csv.py
621 < ${CMAKE_SOURCE_DIR}/AUTHORS
622 > ${CMAKE_CURRENT_BINARY_DIR}/authors.csv
624 ${CMAKE_SOURCE_DIR}/tools/make-authors-csv.py
625 ${CMAKE_SOURCE_DIR}/AUTHORS
628 # Drop the file modification time of source files from generated files
629 # to help with reproducible builds. We do not use QFileInfo.lastModified
630 # so this has no unwanted side effects. This mtime started appearing in
631 # Qt 5.8. The option to force the old file format without mtime was
632 # added in Qt 5.9. See https://bugreports.qt.io/browse/QTBUG-58769.
633 # Force the compression algorithm to zlib, since zstd requires format
634 # version 3. See https://gitlab.com/wireshark/wireshark/-/issues/18100.
635 # Use the number of dashes for each argument as documented at
636 # https://doc.qt.io/qt-6/rcc.html.
637 set(CMAKE_AUTORCC_OPTIONS --format-version 1)
638 list(APPEND CMAKE_AUTORCC_OPTIONS -compress-algo zlib)
640 qt_add_resources(STRATOSHARK_QT_QRC
641 ${CMAKE_SOURCE_DIR}/resources/about.qrc
642 ${CMAKE_SOURCE_DIR}/resources/languages/languages.qrc
643 ${CMAKE_SOURCE_DIR}/resources/layout.qrc
644 ${CMAKE_SOURCE_DIR}/resources/ssicon.qrc
645 ${CMAKE_SOURCE_DIR}/resources/stock_icons.qrc
646 ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc
647 ${CMAKE_CURRENT_BINARY_DIR}/authors.qrc
648 OPTIONS ${CMAKE_AUTORCC_OPTIONS}
652 QT6_ADD_TRANSLATION(STRATOSHARK_QT_QM ${STRATOSHARK_QT_TS} OPTIONS -silent)
654 QT5_ADD_TRANSLATION(STRATOSHARK_QT_QM ${STRATOSHARK_QT_TS} OPTIONS -silent)
658 stratoshark_translations
662 set_target_properties(stratoshark_translations PROPERTIES FOLDER "UI")
664 set_source_files_properties(
665 ${STRATOSHARK_QT_FILES}
667 COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
670 set_source_files_properties(
671 stratoshark-tap-register.c
676 add_definitions(${QT_DEFINITIONS})
678 register_tap_files(stratoshark-tap-register.c
679 ${STRATOSHARK_QT_TAP_SRC}
682 source_group("ui\\UIC Files" FILES ${STRATOSHARK_QT_UI})
683 source_group("ui\\qrc" FILES ${STRATOSHARK_QT_QRC})
684 source_group("ui\\Header" FILES ${STRATOSHARK_QT_HEADERS})
685 source_group("ui\\Widget Header" FILES ${STRATOSHARK_WIDGET_HEADERS})
686 source_group("ui\\Widget Source" FILES ${STRATOSHARK_WIDGET_SRCS})
687 source_group("ui\\Utils Headers Files" FILES ${STRATOSHARK_UTILS_HEADERS})
688 source_group("ui\\Utils Source" FILES ${STRATOSHARK_UTILS_SRCS})
689 source_group("ui\\Models Headers" FILES ${STRATOSHARK_MODEL_HEADERS})
690 source_group("ui\\Models Source" FILES ${STRATOSHARK_MODEL_SRCS})
691 source_group("ui\\Manager Headers" FILES ${STRATOSHARK_MANAGER_HEADERS})
692 source_group("ui\\Manager Source" FILES ${STRATOSHARK_MANAGER_SRCS})
694 add_library(ui_stratoshark OBJECT
695 #Included so that Visual Studio can properly put header files in solution
696 ${STRATOSHARK_QT_HEADERS}
697 ${STRATOSHARK_WIDGET_HEADERS}
698 ${STRATOSHARK_3RD_PARTY_WIDGET_HEADERS}
699 ${STRATOSHARK_MANAGER_HEADERS}
700 ${STRATOSHARK_UTILS_HEADERS}
701 ${STRATOSHARK_MODEL_HEADERS}
703 ${STRATOSHARK_QT_SRC}
704 ${STRATOSHARK_WIDGET_SRCS}
705 ${STRATOSHARK_3RD_PARTY_WIDGET_SRCS}
706 ${STRATOSHARK_MANAGER_SRCS}
707 ${STRATOSHARK_UTILS_SRCS}
708 ${STRATOSHARK_MODEL_SRCS}
710 # For AUTOUIC and AUTORCC.
712 ${STRATOSHARK_QT_QRC}
714 ${STRATOSHARK_QT_TAP_SRC}
715 stratoshark-tap-register.c
718 target_include_directories(ui_stratoshark
720 # Include Qt before anything else, see the comment about
721 # QT5_INCLUDE_DIRS in the top-level CMakeLists.txt
722 # Basically, qt@5 headers should be prioritized over qt@6 which
723 # would be found due to GCRYPT_INCLUDE_DIRS=/usr/local/include
725 ${GCRYPT_INCLUDE_DIRS}
726 ${MINIZIP_INCLUDE_DIRS}
727 ${MINIZIPNG_INCLUDE_DIRS}
729 ${SPEEXDSP_INCLUDE_DIRS}
730 ${WINSPARKLE_INCLUDE_DIRS}
732 ${CMAKE_CURRENT_BINARY_DIR}
733 ${CMAKE_CURRENT_SOURCE_DIR}
734 ${CMAKE_SOURCE_DIR}/ui/qt
738 target_link_libraries(ui_stratoshark PUBLIC
744 if(Qt6Multimedia_FOUND)
745 target_link_libraries(ui_stratoshark PUBLIC Qt6::Multimedia)
748 target_link_libraries(ui_stratoshark PUBLIC Qt6::DBus)
752 target_compile_definitions(ui_stratoshark
754 ${QT5_COMPILE_DEFINITIONS}
757 set_target_properties(ui_stratoshark PROPERTIES
758 LINK_FLAGS "${WS_LINK_FLAGS}"
762 # AUTORCC not needed with qt_add_resources
764 # Ensure .qm files are generated before autogenerating i18n.qrc
765 AUTOGEN_TARGET_DEPENDS "${STRATOSHARK_QT_QM}"
769 set_target_properties(ui_stratoshark PROPERTIES LINK_FLAGS_DEBUG "${WS_MSVC_DEBUG_LINK_FLAGS}")
770 # https://bugreports.qt.io/browse/QTBUG-118993
771 if(Qt${qtver}Widgets_VERSION VERSION_LESS "6.5.4")
772 target_compile_definitions(ui_stratoshark PUBLIC _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
782 # QCustomPlot (STRATOSHARK_3RD_PARTY_WIDGET_{HEADERS,SRCS}) uses
784 ${STRATOSHARK_QT_HEADERS}
785 ${STRATOSHARK_WIDGET_HEADERS}
786 ${STRATOSHARK_MANAGER_HEADERS}
787 ${STRATOSHARK_UTILS_HEADERS}
788 ${STRATOSHARK_MODEL_HEADERS}
790 ${STRATOSHARK_QT_SRC}
791 ${STRATOSHARK_WIDGET_SRCS}
792 ${STRATOSHARK_MANAGER_SRCS}
793 ${STRATOSHARK_UTILS_SRCS}
794 ${STRATOSHARK_MODEL_SRCS}
795 ${STRATOSHARK_QT_TAP_SRC}
799 # Editor modelines - https://www.wireshark.org/tools/modelines.html
804 # indent-tabs-mode: t
807 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
808 # :indentSize=8:tabSize=8:noTabs=false: