Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / ui / stratoshark / CMakeLists.txt
blob336cc4d972e7d7f0865f2c9dfee64f187acd4dcf
1 # CMakeLists.txt
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
10 if(USE_qt6)
11   set(qtver "6")
12 else()
13   set(qtver "5")
14 endif()
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
141 # need to go here.
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}
237         )
238 endif()
240 if(ENABLE_PCAP)
241         list(APPEND WIRESHARK_QT_HEADERS
242                 ${CMAKE_SOURCE_DIR}/ui/qt/capture_info_dialog.h
243         )
244         if(HAVE_PCAP_REMOTE)
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
248                 )
249         endif()
250 endif()
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})
376 set(WIRESHARK_QT_SRC
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}
470         )
471 endif()
473 if(ENABLE_PCAP)
474         list(APPEND WIRESHARK_QT_SRC
475                 ${CMAKE_SOURCE_DIR}/ui/qt/capture_info_dialog.cpp
476         )
477         if(HAVE_PCAP_REMOTE)
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
481                 )
482         endif()
483 endif()
485 set (STRATOSHARK_QT_SRC
486         stratoshark_application.cpp
487         stratoshark_main.cpp
488         stratoshark_main_window.cpp
489         stratoshark_main_window_slots.cpp
490         ${WIRESHARK_QT_SRC})
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
503         ${WIRESHARK_QT_SRC}
504         ${WIRESHARK_QT_TAP_SRC}
507 set (STRATOSHARK_QT_FILES ${WIRESHARK_QT_FILES})
509 set(WIRESHARK_QT_UI
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
571 if(HAVE_PCAP_REMOTE)
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
575         )
576 endif()
578 set (STRATOSHARK_QT_UI
579         stratoshark_main_window.ui
580         ${WIRESHARK_QT_UI}
583 set(WIRESHARK_QT_TS
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
599         stratoshark_en.ts
600         ${WIRESHARK_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>")
607 endforeach()
608 configure_file(i18n.qrc.in ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
610 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/authors.qrc"
611 "<RCC>\n"
612 "    <qresource prefix=\"/about\">\n"
613 "        <file compress-algo=\"zstd\">authors.csv</file>\n"
614 "    </qresource>\n"
615 "</RCC>\n"
618 add_custom_command(
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
623         DEPENDS
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}
651 if (USE_qt6)
652         QT6_ADD_TRANSLATION(STRATOSHARK_QT_QM ${STRATOSHARK_QT_TS} OPTIONS -silent)
653 else()
654         QT5_ADD_TRANSLATION(STRATOSHARK_QT_QM ${STRATOSHARK_QT_TS} OPTIONS -silent)
655 endif()
657 add_custom_target(
658         stratoshark_translations
659         DEPENDS
660                 ${STRATOSHARK_QT_QM}
662 set_target_properties(stratoshark_translations PROPERTIES FOLDER "UI")
664 set_source_files_properties(
665         ${STRATOSHARK_QT_FILES}
666         PROPERTIES
667         COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
670 set_source_files_properties(
671         stratoshark-tap-register.c
672         PROPERTIES
673         SKIP_AUTOGEN ON
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.
711         ${STRATOSHARK_QT_UI}
712         ${STRATOSHARK_QT_QRC}
714         ${STRATOSHARK_QT_TAP_SRC}
715         stratoshark-tap-register.c
718 target_include_directories(ui_stratoshark
719         SYSTEM PRIVATE
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
724                 ${QT5_INCLUDE_DIRS}
725                 ${GCRYPT_INCLUDE_DIRS}
726                 ${MINIZIP_INCLUDE_DIRS}
727                 ${MINIZIPNG_INCLUDE_DIRS}
728                 ${PCAP_INCLUDE_DIRS}
729                 ${SPEEXDSP_INCLUDE_DIRS}
730                 ${WINSPARKLE_INCLUDE_DIRS}
731         PRIVATE
732                 ${CMAKE_CURRENT_BINARY_DIR}
733                 ${CMAKE_CURRENT_SOURCE_DIR}
734                 ${CMAKE_SOURCE_DIR}/ui/qt
737 if(USE_qt6)
738         target_link_libraries(ui_stratoshark PUBLIC
739                 Qt6::Widgets
740                 Qt6::Core5Compat
741                 Qt6::Concurrent
742                 Qt6::PrintSupport
743         )
744         if(Qt6Multimedia_FOUND)
745                 target_link_libraries(ui_stratoshark PUBLIC Qt6::Multimedia)
746         endif()
747         if(Qt6DBus_FOUND)
748                 target_link_libraries(ui_stratoshark PUBLIC Qt6::DBus)
749         endif()
750 endif()
752 target_compile_definitions(ui_stratoshark
753         PUBLIC
754                 ${QT5_COMPILE_DEFINITIONS}
757 set_target_properties(ui_stratoshark PROPERTIES
758         LINK_FLAGS "${WS_LINK_FLAGS}"
759         FOLDER "UI"
760         AUTOMOC ON
761         AUTOUIC ON
762         # AUTORCC not needed with qt_add_resources
763         #AUTORCC ON
764         # Ensure .qm files are generated before autogenerating i18n.qrc
765         AUTOGEN_TARGET_DEPENDS "${STRATOSHARK_QT_QM}"
768 if(MSVC)
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)
773         endif()
774 endif()
776 CHECKAPI(
777         NAME
778                 ui-qt-stratoshark
779         SWITCHES
780                 --nocheck-shadow
781         SOURCES
782                 # QCustomPlot (STRATOSHARK_3RD_PARTY_WIDGET_{HEADERS,SRCS}) uses
783                 # prohibited APIs.
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
801 # Local variables:
802 # c-basic-offset: 8
803 # tab-width: 8
804 # indent-tabs-mode: t
805 # End:
807 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
808 # :indentSize=8:tabSize=8:noTabs=false: