td_ui.cmake 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  1. # This file is part of Telegram Desktop,
  2. # the official desktop application for the Telegram messaging service.
  3. #
  4. # For license and copyright information please follow this link:
  5. # https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. add_library(td_ui OBJECT)
  7. init_non_host_target(td_ui)
  8. add_library(tdesktop::td_ui ALIAS td_ui)
  9. include(lib_ui/cmake/generate_styles.cmake)
  10. include(cmake/generate_numbers.cmake)
  11. set(style_files
  12. ui/td_common.style
  13. ui/filter_icons.style
  14. ui/menu_icons.style
  15. ui/chat/chat.style
  16. ui/effects/credits.style
  17. ui/effects/premium.style
  18. ui/color_indices.style
  19. boxes/boxes.style
  20. dialogs/dialogs.style
  21. chat_helpers/chat_helpers.style
  22. calls/calls.style
  23. export/view/export.style
  24. info/info.style
  25. info/channel_statistics/boosts/giveaway/giveaway.style
  26. info/channel_statistics/earn/channel_earn.style
  27. info/userpic/info_userpic_builder.style
  28. intro/intro.style
  29. iv/iv.style
  30. media/player/media_player.style
  31. passport/passport.style
  32. payments/ui/payments.style
  33. profile/profile.style
  34. settings/settings.style
  35. media/view/media_view.style
  36. overview/overview.style
  37. window/window.style
  38. editor/editor.style
  39. statistics/statistics.style
  40. )
  41. set(dependent_style_files
  42. ${submodules_loc}/lib_ui/ui/colors.palette
  43. ${submodules_loc}/lib_ui/ui/basic.style
  44. ${submodules_loc}/lib_ui/ui/layers/layers.style
  45. ${submodules_loc}/lib_ui/ui/widgets/widgets.style
  46. )
  47. generate_styles(td_ui ${src_loc} "${style_files}" "${dependent_style_files}")
  48. target_precompile_headers(td_ui PRIVATE ${src_loc}/ui/ui_pch.h)
  49. nice_target_sources(td_ui ${src_loc}
  50. PRIVATE
  51. ${style_files}
  52. boxes/peers/edit_peer_history_visibility_box.cpp
  53. boxes/peers/edit_peer_history_visibility_box.h
  54. calls/group/ui/calls_group_recording_box.cpp
  55. calls/group/ui/calls_group_recording_box.h
  56. calls/group/ui/calls_group_scheduled_labels.cpp
  57. calls/group/ui/calls_group_scheduled_labels.h
  58. calls/group/ui/desktop_capture_choose_source.cpp
  59. calls/group/ui/desktop_capture_choose_source.h
  60. calls/ui/calls_device_menu.cpp
  61. calls/ui/calls_device_menu.h
  62. chat_helpers/field_characters_count_manager.cpp
  63. chat_helpers/field_characters_count_manager.h
  64. chat_helpers/stickers_emoji_image_loader.cpp
  65. chat_helpers/stickers_emoji_image_loader.h
  66. core/current_geo_location.cpp
  67. core/current_geo_location.h
  68. core/file_location.cpp
  69. core/file_location.h
  70. core/mime_type.cpp
  71. core/mime_type.h
  72. countries/countries_instance.cpp
  73. countries/countries_instance.h
  74. data/raw/raw_countries_bounds.cpp
  75. data/raw/raw_countries_bounds.h
  76. data/data_birthday.cpp
  77. data/data_birthday.h
  78. data/data_channel_earn.h
  79. data/data_credits.h
  80. data/data_credits_earn.h
  81. data/data_premium_subscription_option.h
  82. data/data_statistics_chart.cpp
  83. data/data_statistics_chart.h
  84. data/data_subscriptions.h
  85. dialogs/dialogs_common.h
  86. dialogs/dialogs_three_state_icon.h
  87. dialogs/ui/chat_search_empty.cpp
  88. dialogs/ui/chat_search_empty.h
  89. dialogs/ui/chat_search_in.cpp
  90. dialogs/ui/chat_search_in.h
  91. dialogs/ui/dialogs_quick_action_context.h
  92. dialogs/ui/dialogs_quick_action.h
  93. dialogs/ui/dialogs_stories_list.cpp
  94. dialogs/ui/dialogs_stories_list.h
  95. dialogs/ui/top_peers_strip.cpp
  96. dialogs/ui/top_peers_strip.h
  97. editor/controllers/undo_controller.cpp
  98. editor/controllers/undo_controller.h
  99. editor/editor_crop.cpp
  100. editor/editor_crop.h
  101. editor/editor_layer_widget.cpp
  102. editor/editor_layer_widget.h
  103. editor/photo_editor_common.cpp
  104. editor/photo_editor_common.h
  105. editor/photo_editor_inner_common.h
  106. editor/scene/scene.cpp
  107. editor/scene/scene.h
  108. editor/scene/scene_item_base.cpp
  109. editor/scene/scene_item_base.h
  110. editor/scene/scene_item_canvas.cpp
  111. editor/scene/scene_item_canvas.h
  112. editor/scene/scene_item_image.cpp
  113. editor/scene/scene_item_image.h
  114. editor/scene/scene_item_line.cpp
  115. editor/scene/scene_item_line.h
  116. history/admin_log/history_admin_log_filter_value.h
  117. history/history_view_top_toast.cpp
  118. history/history_view_top_toast.h
  119. history/view/controls/history_view_characters_limit.cpp
  120. history/view/controls/history_view_characters_limit.h
  121. history/view/controls/history_view_voice_record_button.cpp
  122. history/view/controls/history_view_voice_record_button.h
  123. info/profile/info_profile_icon.cpp
  124. info/profile/info_profile_icon.h
  125. info/userpic/info_userpic_bubble_wrap.cpp
  126. info/userpic/info_userpic_bubble_wrap.h
  127. info/userpic/info_userpic_color_circle_button.cpp
  128. info/userpic/info_userpic_color_circle_button.h
  129. info/userpic/info_userpic_emoji_builder_layer.cpp
  130. info/userpic/info_userpic_emoji_builder_layer.h
  131. info/channel_statistics/boosts/giveaway/boost_badge.cpp
  132. info/channel_statistics/boosts/giveaway/boost_badge.h
  133. info/channel_statistics/boosts/giveaway/giveaway_type_row.cpp
  134. info/channel_statistics/boosts/giveaway/giveaway_type_row.h
  135. info/channel_statistics/boosts/giveaway/select_countries_box.cpp
  136. info/channel_statistics/boosts/giveaway/select_countries_box.h
  137. info/channel_statistics/earn/earn_format.cpp
  138. info/channel_statistics/earn/earn_format.h
  139. info/channel_statistics/earn/earn_icons.cpp
  140. info/channel_statistics/earn/earn_icons.h
  141. intro/intro_code_input.cpp
  142. intro/intro_code_input.h
  143. layout/abstract_layout_item.cpp
  144. layout/abstract_layout_item.h
  145. layout/layout_mosaic.cpp
  146. layout/layout_mosaic.h
  147. layout/layout_position.cpp
  148. layout/layout_position.h
  149. layout/layout_selection.cpp
  150. layout/layout_selection.h
  151. media/clip/media_clip_check_streaming.cpp
  152. media/clip/media_clip_check_streaming.h
  153. media/clip/media_clip_ffmpeg.cpp
  154. media/clip/media_clip_ffmpeg.h
  155. media/clip/media_clip_implementation.cpp
  156. media/clip/media_clip_implementation.h
  157. media/clip/media_clip_reader.cpp
  158. media/clip/media_clip_reader.h
  159. media/player/media_player_button.cpp
  160. media/player/media_player_button.h
  161. media/player/media_player_dropdown.cpp
  162. media/player/media_player_dropdown.h
  163. media/media_common.h
  164. menu/menu_check_item.cpp
  165. menu/menu_check_item.h
  166. menu/menu_ttl.cpp
  167. menu/menu_ttl.h
  168. passport/ui/passport_details_row.cpp
  169. passport/ui/passport_details_row.h
  170. passport/ui/passport_form_row.cpp
  171. passport/ui/passport_form_row.h
  172. payments/ui/payments_edit_card.cpp
  173. payments/ui/payments_edit_card.h
  174. payments/ui/payments_edit_information.cpp
  175. payments/ui/payments_edit_information.h
  176. payments/ui/payments_form_summary.cpp
  177. payments/ui/payments_form_summary.h
  178. payments/ui/payments_field.cpp
  179. payments/ui/payments_field.h
  180. payments/ui/payments_panel.cpp
  181. payments/ui/payments_panel.h
  182. payments/ui/payments_panel_data.h
  183. payments/ui/payments_panel_delegate.h
  184. payments/ui/payments_reaction_box.cpp
  185. payments/ui/payments_reaction_box.h
  186. platform/linux/current_geo_location_linux.cpp
  187. platform/linux/current_geo_location_linux.h
  188. platform/mac/file_bookmark_mac.h
  189. platform/mac/file_bookmark_mac.mm
  190. platform/mac/current_geo_location_mac.h
  191. platform/mac/current_geo_location_mac.mm
  192. platform/win/current_geo_location_win.cpp
  193. platform/win/current_geo_location_win.h
  194. platform/platform_file_bookmark.h
  195. platform/platform_current_geo_location.h
  196. settings/settings_common.cpp
  197. settings/settings_common.h
  198. settings/cloud_password/settings_cloud_password_common.cpp
  199. settings/cloud_password/settings_cloud_password_common.h
  200. statistics/chart_lines_filter_controller.cpp
  201. statistics/chart_lines_filter_controller.h
  202. statistics/chart_rulers_data.cpp
  203. statistics/chart_rulers_data.h
  204. statistics/chart_widget.cpp
  205. statistics/chart_widget.h
  206. statistics/segment_tree.cpp
  207. statistics/segment_tree.h
  208. statistics/statistics_common.h
  209. statistics/statistics_data_deserialize.cpp
  210. statistics/statistics_data_deserialize.h
  211. statistics/statistics_format_values.cpp
  212. statistics/statistics_format_values.h
  213. statistics/statistics_graphics.cpp
  214. statistics/statistics_graphics.h
  215. statistics/statistics_types.h
  216. statistics/view/abstract_chart_view.cpp
  217. statistics/view/abstract_chart_view.h
  218. statistics/view/bar_chart_view.cpp
  219. statistics/view/bar_chart_view.h
  220. statistics/view/chart_rulers_view.cpp
  221. statistics/view/chart_rulers_view.h
  222. statistics/view/chart_view_factory.cpp
  223. statistics/view/chart_view_factory.h
  224. statistics/view/linear_chart_view.cpp
  225. statistics/view/linear_chart_view.h
  226. statistics/view/stack_chart_common.cpp
  227. statistics/view/stack_chart_common.h
  228. statistics/view/stack_linear_chart_common.cpp
  229. statistics/view/stack_linear_chart_common.h
  230. statistics/view/stack_linear_chart_view.cpp
  231. statistics/view/stack_linear_chart_view.h
  232. statistics/widgets/chart_header_widget.cpp
  233. statistics/widgets/chart_header_widget.h
  234. statistics/widgets/chart_lines_filter_widget.cpp
  235. statistics/widgets/chart_lines_filter_widget.h
  236. statistics/widgets/point_details_widget.cpp
  237. statistics/widgets/point_details_widget.h
  238. ui/boxes/auto_delete_settings.cpp
  239. ui/boxes/auto_delete_settings.h
  240. ui/boxes/boost_box.cpp
  241. ui/boxes/boost_box.h
  242. ui/boxes/calendar_box.cpp
  243. ui/boxes/calendar_box.h
  244. ui/boxes/choose_date_time.cpp
  245. ui/boxes/choose_date_time.h
  246. ui/boxes/choose_font_box.cpp
  247. ui/boxes/choose_font_box.h
  248. ui/boxes/choose_language_box.cpp
  249. ui/boxes/choose_language_box.h
  250. ui/boxes/choose_time.cpp
  251. ui/boxes/choose_time.h
  252. ui/boxes/collectible_info_box.cpp
  253. ui/boxes/collectible_info_box.h
  254. ui/boxes/confirm_box.cpp
  255. ui/boxes/confirm_box.h
  256. ui/boxes/confirm_phone_box.cpp
  257. ui/boxes/confirm_phone_box.h
  258. ui/boxes/country_select_box.cpp
  259. ui/boxes/country_select_box.h
  260. ui/boxes/edit_birthday_box.cpp
  261. ui/boxes/edit_birthday_box.h
  262. ui/boxes/edit_factcheck_box.cpp
  263. ui/boxes/edit_factcheck_box.h
  264. ui/boxes/edit_invite_link.cpp
  265. ui/boxes/edit_invite_link.h
  266. ui/boxes/rate_call_box.cpp
  267. ui/boxes/rate_call_box.h
  268. ui/boxes/report_box_graphics.cpp
  269. ui/boxes/report_box_graphics.h
  270. ui/boxes/show_or_premium_box.cpp
  271. ui/boxes/show_or_premium_box.h
  272. ui/boxes/single_choice_box.cpp
  273. ui/boxes/single_choice_box.h
  274. ui/boxes/time_picker_box.cpp
  275. ui/boxes/time_picker_box.h
  276. ui/chat/attach/attach_abstract_single_file_preview.cpp
  277. ui/chat/attach/attach_abstract_single_file_preview.h
  278. ui/chat/attach/attach_abstract_single_media_preview.cpp
  279. ui/chat/attach/attach_abstract_single_media_preview.h
  280. ui/chat/attach/attach_abstract_single_preview.h
  281. ui/chat/attach/attach_album_preview.cpp
  282. ui/chat/attach/attach_album_preview.h
  283. ui/chat/attach/attach_album_thumbnail.cpp
  284. ui/chat/attach/attach_album_thumbnail.h
  285. ui/chat/attach/attach_bot_downloads.cpp
  286. ui/chat/attach/attach_bot_downloads.h
  287. ui/chat/attach/attach_bot_webview.cpp
  288. ui/chat/attach/attach_bot_webview.h
  289. ui/chat/attach/attach_controls.cpp
  290. ui/chat/attach/attach_controls.h
  291. ui/chat/attach/attach_extensions.cpp
  292. ui/chat/attach/attach_extensions.h
  293. ui/chat/attach/attach_prepare.cpp
  294. ui/chat/attach/attach_prepare.h
  295. ui/chat/attach/attach_send_files_way.cpp
  296. ui/chat/attach/attach_send_files_way.h
  297. ui/chat/attach/attach_single_file_preview.cpp
  298. ui/chat/attach/attach_single_file_preview.h
  299. ui/chat/attach/attach_single_media_preview.cpp
  300. ui/chat/attach/attach_single_media_preview.h
  301. ui/chat/chat_style.cpp
  302. ui/chat/chat_style.h
  303. ui/chat/chat_style_radius.cpp
  304. ui/chat/chat_style_radius.h
  305. ui/chat/chat_theme.cpp
  306. ui/chat/chat_theme.h
  307. ui/chat/chats_filter_tag.cpp
  308. ui/chat/chats_filter_tag.h
  309. ui/chat/continuous_scroll.cpp
  310. ui/chat/continuous_scroll.h
  311. ui/chat/forward_options_box.cpp
  312. ui/chat/forward_options_box.h
  313. ui/chat/group_call_bar.cpp
  314. ui/chat/group_call_bar.h
  315. ui/chat/group_call_userpics.cpp
  316. ui/chat/group_call_userpics.h
  317. ui/chat/message_bar.cpp
  318. ui/chat/message_bar.h
  319. ui/chat/message_bubble.cpp
  320. ui/chat/message_bubble.h
  321. ui/chat/more_chats_bar.cpp
  322. ui/chat/more_chats_bar.h
  323. ui/chat/pinned_bar.cpp
  324. ui/chat/pinned_bar.h
  325. ui/chat/requests_bar.cpp
  326. ui/chat/requests_bar.h
  327. ui/controls/call_mute_button.cpp
  328. ui/controls/call_mute_button.h
  329. ui/controls/chat_service_checkbox.cpp
  330. ui/controls/chat_service_checkbox.h
  331. ui/controls/delete_message_context_action.cpp
  332. ui/controls/delete_message_context_action.h
  333. ui/controls/download_bar.cpp
  334. ui/controls/download_bar.h
  335. ui/controls/emoji_button.cpp
  336. ui/controls/emoji_button.h
  337. ui/controls/filter_link_header.cpp
  338. ui/controls/filter_link_header.h
  339. ui/controls/jump_down_button.cpp
  340. ui/controls/jump_down_button.h
  341. ui/controls/invite_link_buttons.cpp
  342. ui/controls/invite_link_buttons.h
  343. ui/controls/invite_link_label.cpp
  344. ui/controls/invite_link_label.h
  345. ui/controls/peer_list_dummy.cpp
  346. ui/controls/peer_list_dummy.h
  347. ui/controls/round_video_recorder.cpp
  348. ui/controls/round_video_recorder.h
  349. ui/controls/send_as_button.cpp
  350. ui/controls/send_as_button.h
  351. ui/controls/send_button.cpp
  352. ui/controls/send_button.h
  353. ui/controls/swipe_handler.cpp
  354. ui/controls/swipe_handler.h
  355. ui/controls/swipe_handler_data.h
  356. ui/controls/tabbed_search.cpp
  357. ui/controls/tabbed_search.h
  358. ui/controls/who_reacted_context_action.cpp
  359. ui/controls/who_reacted_context_action.h
  360. ui/controls/window_outdated_bar.cpp
  361. ui/controls/window_outdated_bar_dummy.cpp
  362. ui/controls/window_outdated_bar.h
  363. ui/effects/fireworks_animation.cpp
  364. ui/effects/fireworks_animation.h
  365. ui/effects/glare.cpp
  366. ui/effects/glare.h
  367. ui/effects/loading_element.cpp
  368. ui/effects/loading_element.h
  369. ui/effects/outline_segments.cpp
  370. ui/effects/outline_segments.h
  371. ui/effects/premium_bubble.cpp
  372. ui/effects/premium_bubble.h
  373. ui/effects/premium_graphics.cpp
  374. ui/effects/premium_graphics.h
  375. ui/effects/premium_stars.cpp
  376. ui/effects/premium_stars.h
  377. ui/effects/premium_stars_colored.cpp
  378. ui/effects/premium_stars_colored.h
  379. ui/effects/premium_top_bar.cpp
  380. ui/effects/premium_top_bar.h
  381. ui/effects/round_checkbox.cpp
  382. ui/effects/round_checkbox.h
  383. ui/effects/scroll_content_shadow.cpp
  384. ui/effects/scroll_content_shadow.h
  385. ui/effects/shake_animation.cpp
  386. ui/effects/shake_animation.h
  387. ui/effects/snowflakes.cpp
  388. ui/effects/snowflakes.h
  389. ui/effects/toggle_arrow.cpp
  390. ui/effects/toggle_arrow.h
  391. ui/search_field_controller.cpp
  392. ui/search_field_controller.h
  393. ui/text/format_song_name.cpp
  394. ui/text/format_song_name.h
  395. ui/text/format_values.cpp
  396. ui/text/format_values.h
  397. ui/text/text_options.cpp
  398. ui/text/text_options.h
  399. ui/widgets/fields/special_fields.cpp
  400. ui/widgets/fields/special_fields.h
  401. ui/widgets/fields/time_part_input_with_placeholder.cpp
  402. ui/widgets/fields/time_part_input_with_placeholder.h
  403. ui/widgets/chat_filters_tabs_slider.cpp
  404. ui/widgets/chat_filters_tabs_slider.h
  405. ui/widgets/chat_filters_tabs_slider_reorder.cpp
  406. ui/widgets/chat_filters_tabs_slider_reorder.h
  407. ui/widgets/color_editor.cpp
  408. ui/widgets/color_editor.h
  409. ui/widgets/continuous_sliders.cpp
  410. ui/widgets/continuous_sliders.h
  411. ui/widgets/discrete_sliders.cpp
  412. ui/widgets/discrete_sliders.h
  413. ui/widgets/gradient_round_button.cpp
  414. ui/widgets/gradient_round_button.h
  415. ui/widgets/level_meter.cpp
  416. ui/widgets/level_meter.h
  417. ui/widgets/multi_select.cpp
  418. ui/widgets/multi_select.h
  419. ui/widgets/sent_code_field.cpp
  420. ui/widgets/sent_code_field.h
  421. ui/widgets/participants_check_view.cpp
  422. ui/widgets/participants_check_view.h
  423. ui/widgets/slider_natural_width.h
  424. ui/widgets/vertical_drum_picker.cpp
  425. ui/widgets/vertical_drum_picker.h
  426. ui/cached_round_corners.cpp
  427. ui/cached_round_corners.h
  428. ui/color_contrast.cpp
  429. ui/color_contrast.h
  430. ui/color_int_conversion.cpp
  431. ui/color_int_conversion.h
  432. ui/empty_userpic.cpp
  433. ui/empty_userpic.h
  434. ui/grouped_layout.cpp
  435. ui/grouped_layout.h
  436. ui/new_badges.cpp
  437. ui/new_badges.h
  438. ui/power_saving.cpp
  439. ui/power_saving.h
  440. ui/vertical_list.cpp
  441. ui/vertical_list.h
  442. ui/unread_badge_paint.cpp
  443. ui/unread_badge_paint.h
  444. ui/userpic_view.cpp
  445. ui/userpic_view.h
  446. ui/webview_helpers.cpp
  447. ui/webview_helpers.h
  448. window/window_slide_animation.cpp
  449. window/window_slide_animation.h
  450. ui/ui_pch.h
  451. )
  452. nice_target_sources(td_ui ${res_loc}
  453. PRIVATE
  454. picker_html/picker.css
  455. picker_html/picker.js
  456. )
  457. if (DESKTOP_APP_SPECIAL_TARGET)
  458. remove_target_sources(td_ui ${src_loc}
  459. ui/controls/window_outdated_bar_dummy.cpp
  460. )
  461. else()
  462. remove_target_sources(td_ui ${src_loc}
  463. ui/controls/window_outdated_bar.cpp
  464. )
  465. endif()
  466. target_include_directories(td_ui
  467. PUBLIC
  468. ${src_loc}
  469. )
  470. target_link_libraries(td_ui
  471. PUBLIC
  472. tdesktop::td_lang
  473. desktop-app::lib_ui
  474. desktop-app::lib_lottie
  475. PRIVATE
  476. tdesktop::lib_tgcalls
  477. desktop-app::lib_ffmpeg
  478. desktop-app::lib_webview
  479. desktop-app::lib_webrtc
  480. desktop-app::lib_spellcheck
  481. desktop-app::lib_stripe
  482. desktop-app::external_kcoreaddons
  483. desktop-app::external_openh264
  484. desktop-app::external_webrtc
  485. )