ZaStoGram_desktop/Telegram/CMakeLists.txt
loop-uh 8ab3566031 Build the first core slice of E2E cloud groups
The design from the previous commit gets its first code: strongly
typed identifiers, a versioned envelope with a strict binary codec, a
freshness gate that fails closed on conflicting checkpoints, a
protected outbox that refuses to seal or upload before freshness
confirmation, the authoritative group-state machine, real
Ed25519/X25519 account identity with domain-separated signatures, an
Argon2id-bounded password vault, purpose-bound AES-256-GCM local
record protection with atomic snapshots, encrypted file manifests and
chunk streams, and a two-stage opaque Telegram document carrier. All
of it sits behind replaceable boundaries; the MLS engine itself stays
deliberately unselected, and nothing here is production cryptography
yet.

The library lands as an OBJECT target linked into Telegram. Its cmake
file has to be added by force: a bare "cmake" pattern in .gitignore
swallows any new file under Telegram/cmake, and a build recipe that
exists locally but never reaches the repository is exactly the kind of
breakage that only shows up on someone else's machine.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 22:29:13 +03:00

2619 lines
99 KiB
CMake

# This file is part of Telegram Desktop,
# the official desktop application for the Telegram messaging service.
#
# For license and copyright information please follow this link:
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
add_executable(Telegram WIN32 MACOSX_BUNDLE)
init_non_host_target(Telegram)
add_subdirectory(lib_rpl)
add_subdirectory(lib_crl)
add_subdirectory(lib_base)
add_subdirectory(lib_ui)
add_subdirectory(lib_tl)
add_subdirectory(lib_spellcheck)
add_subdirectory(lib_storage)
add_subdirectory(lib_lottie)
add_subdirectory(lib_qr)
add_subdirectory(lib_translate)
add_subdirectory(lib_webrtc)
add_subdirectory(lib_webview)
add_subdirectory(codegen)
get_filename_component(src_loc SourceFiles REALPATH)
get_filename_component(res_loc Resources REALPATH)
include(cmake/telegram_options.cmake)
include(cmake/lib_argon2.cmake)
include(cmake/lib_ffmpeg.cmake)
include(cmake/lib_stripe.cmake)
include(cmake/lib_tgcalls.cmake)
include(cmake/lib_prisma.cmake)
include(cmake/lib_fido2.cmake)
include(cmake/td_e2e_cloud.cmake)
include(cmake/td_export.cmake)
include(cmake/td_iv.cmake)
include(cmake/td_lang.cmake)
include(cmake/td_mtproto.cmake)
include(cmake/td_scheme.cmake)
include(cmake/td_tde2e.cmake)
include(cmake/td_ui.cmake)
include(cmake/td_webauthn.cmake)
include(cmake/telegram_apple_swift_runtime.cmake)
include(cmake/generate_appstream_changelog.cmake)
if (DESKTOP_APP_TEST_APPS)
include(cmake/tests.cmake)
endif()
if (WIN32)
include(cmake/generate_midl.cmake)
generate_midl(Telegram ${src_loc}
platform/win/windows_quiethours.idl
platform/win/windows_toastactivator.idl
)
endif()
set_target_properties(Telegram PROPERTIES AUTOMOC ON)
target_link_libraries(Telegram
PRIVATE
tdesktop::lib_argon2
tdesktop::lib_fido2
tdesktop::lib_tgcalls
tdesktop::td_e2e_cloud
tdesktop::td_export
tdesktop::td_iv
tdesktop::td_lang
tdesktop::td_mtproto
tdesktop::td_scheme
tdesktop::td_tde2e
tdesktop::td_ui
tdesktop::td_webauthn
desktop-app::lib_webrtc
desktop-app::lib_base
desktop-app::lib_crl
desktop-app::lib_ui
desktop-app::lib_tl
desktop-app::lib_spellcheck
desktop-app::lib_storage
desktop-app::lib_lottie
desktop-app::lib_qr
desktop-app::lib_translate
desktop-app::lib_webview
desktop-app::lib_ffmpeg
desktop-app::lib_stripe
desktop-app::external_rlottie
desktop-app::external_zlib
desktop-app::external_minizip
desktop-app::external_kcoreaddons
desktop-app::external_qt_static_plugins
desktop-app::external_qt
desktop-app::external_qr_code_generator
desktop-app::external_crash_reports
desktop-app::external_auto_updates
desktop-app::external_openssl
desktop-app::external_openal
desktop-app::external_xxhash
)
if (NOT DESKTOP_APP_DISABLE_SWIFT6)
telegram_add_apple_swift_runtime(Telegram)
endif()
target_precompile_headers(Telegram PRIVATE $<$<COMPILE_LANGUAGE:CXX,OBJCXX>:${src_loc}/stdafx.h>)
nice_target_sources(Telegram ${src_loc}
PRIVATE
${style_files}
api/api_attached_stickers.cpp
api/api_attached_stickers.h
api/api_authorizations.cpp
api/api_authorizations.h
api/api_blocked_peers.cpp
api/api_blocked_peers.h
api/api_bot.cpp
api/api_bot.h
api/api_bot_callback_state.cpp
api/api_bot_callback_state.h
api/api_chat_filters.cpp
api/api_chat_filters.h
api/api_chat_filters_remove_manager.cpp
api/api_chat_filters_remove_manager.h
api/api_chat_invite.cpp
api/api_chat_invite.h
api/api_chat_links.cpp
api/api_chat_links.h
api/api_chat_participants.cpp
api/api_chat_participants.h
api/api_cloud_password.cpp
api/api_cloud_password.h
api/api_communities.cpp
api/api_communities.h
data/data_search_calendar.h
data/data_search_calendar.cpp
api/api_common.cpp
api/api_common.h
api/api_confirm_phone.cpp
api/api_confirm_phone.h
api/api_compose_with_ai.cpp
api/api_compose_with_ai.h
api/api_credits.cpp
api/api_credits.h
api/api_credits_history_entry.cpp
api/api_credits_history_entry.h
api/api_earn.cpp
api/api_earn.h
api/api_editing.cpp
api/api_editing.h
api/api_filter_updates.h
api/api_global_privacy.cpp
api/api_global_privacy.h
api/api_hash.cpp
api/api_hash.h
api/api_invite_links.cpp
api/api_invite_links.h
api/api_media.cpp
api/api_media.h
api/api_messages_search.cpp
api/api_messages_search.h
api/api_messages_search_merged.cpp
api/api_messages_search_merged.h
api/api_peer_colors.cpp
api/api_peer_colors.h
api/api_peer_photo.cpp
api/api_peer_photo.h
api/api_peer_search.cpp
api/api_peer_search.h
api/api_polls.cpp
api/api_polls.h
api/api_premium.cpp
api/api_premium.h
api/api_premium_option.cpp
api/api_premium_option.h
api/api_reactions_notify_settings.cpp
api/api_reactions_notify_settings.h
api/api_read_metrics.cpp
api/api_read_metrics.h
api/api_report.cpp
api/api_report.h
api/api_ringtones.cpp
api/api_ringtones.h
api/api_self_destruct.cpp
api/api_self_destruct.h
api/api_send_progress.cpp
api/api_send_progress.h
api/api_sending.cpp
api/api_sending.h
api/api_sensitive_content.cpp
api/api_sensitive_content.h
api/api_single_message_search.cpp
api/api_single_message_search.h
api/api_statistics.cpp
api/api_statistics.h
api/api_statistics_data_deserialize.cpp
api/api_statistics_data_deserialize.h
api/api_statistics_sender.cpp
api/api_statistics_sender.h
api/api_stickers_creator.cpp
api/api_stickers_creator.h
api/api_suggest_post.cpp
api/api_suggest_post.h
api/api_text_entities.cpp
api/api_text_entities.h
api/api_todo_lists.cpp
api/api_todo_lists.h
api/api_toggling_media.cpp
api/api_toggling_media.h
api/api_transcribes.cpp
api/api_transcribes.h
api/api_unread_things.cpp
api/api_unread_things.h
api/api_updates.cpp
api/api_updates.h
api/api_user_names.cpp
api/api_user_names.h
api/api_user_privacy.cpp
api/api_user_privacy.h
api/api_views.cpp
api/api_views.h
api/api_websites.cpp
api/api_websites.h
api/api_who_reacted.cpp
api/api_who_reacted.h
boxes/filters/edit_filter_box.cpp
boxes/filters/edit_filter_box.h
boxes/filters/edit_filter_chats_list.cpp
boxes/filters/edit_filter_chats_list.h
boxes/filters/edit_filter_chats_preview.cpp
boxes/filters/edit_filter_chats_preview.h
boxes/filters/edit_filter_links.cpp
boxes/filters/edit_filter_links.h
boxes/peers/add_bot_to_chat_box.cpp
boxes/peers/add_bot_to_chat_box.h
boxes/peers/add_participants_box.cpp
boxes/peers/add_participants_box.h
boxes/peers/add_to_community_box.cpp
boxes/peers/add_to_community_box.h
boxes/peers/channel_ownership_transfer.cpp
boxes/peers/channel_ownership_transfer.h
boxes/peers/choose_peer_box.cpp
boxes/peers/choose_peer_box.h
boxes/peers/community_box.cpp
boxes/peers/community_box.h
boxes/peers/community_pending_requests_box.cpp
boxes/peers/community_pending_requests_box.h
boxes/peers/create_managed_bot_box.cpp
boxes/peers/create_managed_bot_box.h
boxes/peers/edit_contact_box.cpp
boxes/peers/edit_contact_box.h
boxes/peers/edit_forum_topic_box.cpp
boxes/peers/edit_forum_topic_box.h
boxes/peers/edit_discussion_link_box.cpp
boxes/peers/edit_discussion_link_box.h
boxes/peers/edit_members_visible.cpp
boxes/peers/edit_members_visible.h
boxes/peers/manage_community_box.cpp
boxes/peers/manage_community_box.h
boxes/peers/edit_participant_box.cpp
boxes/peers/edit_participant_box.h
boxes/peers/edit_tag_control.cpp
boxes/peers/edit_tag_control.h
boxes/peers/edit_participants_box.cpp
boxes/peers/edit_participants_box.h
boxes/peers/edit_peer_color_box.cpp
boxes/peers/edit_peer_color_box.h
boxes/peers/edit_peer_common.h
boxes/peers/edit_peer_info_box.cpp
boxes/peers/edit_peer_info_box.h
boxes/peers/edit_peer_invite_link.cpp
boxes/peers/edit_peer_invite_link.h
boxes/peers/edit_peer_invite_links.cpp
boxes/peers/edit_peer_invite_links.h
boxes/peers/edit_peer_permissions_box.cpp
boxes/peers/edit_peer_permissions_box.h
boxes/peers/edit_peer_reactions.cpp
boxes/peers/edit_peer_reactions.h
boxes/peers/edit_peer_requests_box.cpp
boxes/peers/edit_peer_requests_box.h
boxes/peers/edit_peer_type_box.cpp
boxes/peers/edit_peer_type_box.h
boxes/peers/edit_peer_usernames_list.cpp
boxes/peers/edit_peer_usernames_list.h
boxes/peers/peer_short_info_box.cpp
boxes/peers/peer_short_info_box.h
boxes/peers/prepare_short_info_box.cpp
boxes/peers/prepare_short_info_box.h
boxes/peers/replace_boost_box.cpp
boxes/peers/replace_boost_box.h
boxes/peers/tag_info_box.cpp
boxes/peers/tag_info_box.h
boxes/peers/verify_peers_box.cpp
boxes/peers/verify_peers_box.h
boxes/about_box.cpp
boxes/about_box.h
boxes/about_sponsored_box.cpp
boxes/about_sponsored_box.h
boxes/abstract_box.cpp
boxes/abstract_box.h
boxes/add_contact_box.cpp
boxes/add_contact_box.h
boxes/auto_lock_box.cpp
boxes/auto_lock_box.h
boxes/auto_download_box.cpp
boxes/auto_download_box.h
boxes/background_box.cpp
boxes/background_box.h
boxes/background_preview_box.cpp
boxes/background_preview_box.h
boxes/choose_filter_box.cpp
boxes/choose_filter_box.h
boxes/connection_box.cpp
boxes/connection_box.h
boxes/create_poll_box.cpp
boxes/create_poll_box.h
boxes/delete_messages_box.cpp
boxes/delete_messages_box.h
boxes/dictionaries_manager.cpp
boxes/dictionaries_manager.h
boxes/download_path_box.cpp
boxes/download_path_box.h
boxes/edit_caption_box.cpp
boxes/edit_caption_box.h
boxes/edit_privacy_box.cpp
boxes/edit_privacy_box.h
boxes/edit_todo_list_box.cpp
boxes/edit_todo_list_box.h
boxes/gift_credits_box.cpp
boxes/gift_credits_box.h
boxes/gift_premium_box.cpp
boxes/gift_premium_box.h
boxes/language_box.cpp
boxes/language_box.h
boxes/max_invite_box.cpp
boxes/max_invite_box.h
boxes/moderate_messages_box.cpp
boxes/moderate_messages_box.h
boxes/peer_list_box.cpp
boxes/peer_list_box.h
boxes/peer_list_controllers.cpp
boxes/peer_list_controllers.h
boxes/peer_list_section_headers.cpp
boxes/peer_list_section_headers.h
boxes/peer_list_section_index.cpp
boxes/peer_list_section_index.h
boxes/peer_list_widgets.cpp
boxes/peer_list_widgets.h
boxes/peer_lists_box.cpp
boxes/peer_lists_box.h
boxes/passcode_box.cpp
boxes/passcode_box.h
boxes/phone_banned_box.cpp
boxes/phone_banned_box.h
boxes/pin_messages_box.cpp
boxes/pin_messages_box.h
boxes/premium_limits_box.cpp
boxes/premium_limits_box.h
boxes/premium_preview_box.cpp
boxes/premium_preview_box.h
boxes/reactions_settings_box.cpp
boxes/reactions_settings_box.h
boxes/report_messages_box.cpp
boxes/report_messages_box.h
boxes/ringtones_box.cpp
boxes/ringtones_box.h
boxes/select_future_owner_box.cpp
boxes/select_future_owner_box.h
boxes/self_destruction_box.cpp
boxes/self_destruction_box.h
boxes/send_credits_box.cpp
boxes/send_credits_box.h
boxes/send_gif_with_caption_box.cpp
boxes/send_gif_with_caption_box.h
boxes/send_files_box.cpp
boxes/send_files_box.h
boxes/send_files_box_reply_header.cpp
boxes/send_files_box_reply_header.h
boxes/share_box.cpp
boxes/share_box.h
boxes/star_gift_auction_box.cpp
boxes/star_gift_auction_box.h
boxes/star_gift_box.cpp
boxes/star_gift_box.h
boxes/star_gift_cover_box.cpp
boxes/star_gift_cover_box.h
boxes/star_gift_craft_animation.cpp
boxes/star_gift_craft_animation.h
boxes/star_gift_craft_box.cpp
boxes/star_gift_craft_box.h
boxes/star_gift_preview_box.cpp
boxes/star_gift_preview_box.h
boxes/star_gift_resale_box.cpp
boxes/star_gift_resale_box.h
boxes/sticker_creator_box.cpp
boxes/sticker_creator_box.h
boxes/sticker_set_box.cpp
boxes/sticker_set_box.h
boxes/stickers_box.cpp
boxes/stickers_box.h
boxes/transfer_gift_box.cpp
boxes/transfer_gift_box.h
boxes/compose_ai_box.cpp
boxes/compose_ai_box.h
boxes/create_ai_box.cpp
boxes/create_ai_box.h
boxes/create_ai_tone_box.cpp
boxes/create_ai_tone_box.h
boxes/preview_ai_tone_box.cpp
boxes/preview_ai_tone_box.h
boxes/translate_box.cpp
boxes/translate_box.h
boxes/unconfirmed_auth_denied_box.cpp
boxes/unconfirmed_auth_denied_box.h
boxes/url_auth_box.cpp
boxes/url_auth_box.h
boxes/username_box.cpp
boxes/username_box.h
calls/group/calls_choose_join_as.cpp
calls/group/calls_choose_join_as.h
calls/group/calls_cover_item.cpp
calls/group/calls_cover_item.h
calls/group/calls_group_call.cpp
calls/group/calls_group_call.h
calls/group/calls_group_common.cpp
calls/group/calls_group_common.h
calls/group/calls_group_invite_controller.cpp
calls/group/calls_group_invite_controller.h
calls/group/calls_group_members.cpp
calls/group/calls_group_members.h
calls/group/calls_group_members_row.cpp
calls/group/calls_group_members_row.h
calls/group/calls_group_menu.cpp
calls/group/calls_group_menu.h
calls/group/calls_group_message_encryption.cpp
calls/group/calls_group_message_encryption.h
calls/group/calls_group_message_field.cpp
calls/group/calls_group_message_field.h
calls/group/calls_group_messages.cpp
calls/group/calls_group_messages.h
calls/group/calls_group_messages_ui.cpp
calls/group/calls_group_messages_ui.h
calls/group/calls_group_panel.cpp
calls/group/calls_group_panel.h
calls/group/calls_group_rtmp.cpp
calls/group/calls_group_rtmp.h
calls/group/calls_group_settings.cpp
calls/group/calls_group_settings.h
calls/group/calls_group_stars_box.cpp
calls/group/calls_group_stars_box.h
calls/group/calls_group_toasts.cpp
calls/group/calls_group_toasts.h
calls/group/calls_group_viewport.cpp
calls/group/calls_group_viewport.h
calls/group/calls_group_viewport_opengl.cpp
calls/group/calls_group_viewport_opengl.h
calls/group/calls_group_viewport_raster.cpp
calls/group/calls_group_viewport_raster.h
calls/group/calls_group_viewport_rhi.cpp
calls/group/calls_group_viewport_rhi.h
calls/group/calls_group_viewport_tile.cpp
calls/group/calls_group_viewport_tile.h
calls/group/calls_volume_item.cpp
calls/group/calls_volume_item.h
calls/calls_box_controller.cpp
calls/calls_box_controller.h
calls/calls_call.cpp
calls/calls_call.h
calls/calls_emoji_fingerprint.cpp
calls/calls_emoji_fingerprint.h
calls/calls_instance.cpp
calls/calls_instance.h
calls/calls_panel.cpp
calls/calls_panel.h
calls/calls_panel_background.cpp
calls/calls_panel_background.h
calls/calls_signal_bars.cpp
calls/calls_signal_bars.h
calls/calls_top_bar.cpp
calls/calls_top_bar.h
calls/calls_userpic.cpp
calls/calls_userpic.h
calls/calls_video_bubble.cpp
calls/calls_video_bubble.h
calls/calls_video_incoming.cpp
calls/calls_video_incoming.h
calls/calls_window.cpp
calls/calls_window.h
chat_helpers/compose/compose_features.h
chat_helpers/compose/compose_show.cpp
chat_helpers/compose/compose_show.h
chat_helpers/bot_command.cpp
chat_helpers/bot_command.h
chat_helpers/bot_keyboard.cpp
chat_helpers/bot_keyboard.h
chat_helpers/emoji_interactions.cpp
chat_helpers/emoji_interactions.h
chat_helpers/emoji_keywords.cpp
chat_helpers/emoji_keywords.h
chat_helpers/emoji_list_widget.cpp
chat_helpers/emoji_list_widget.h
chat_helpers/emoji_picker_overlay.cpp
chat_helpers/emoji_picker_overlay.h
chat_helpers/emoji_sets_manager.cpp
chat_helpers/emoji_sets_manager.h
chat_helpers/emoji_suggestions_widget.cpp
chat_helpers/emoji_suggestions_widget.h
chat_helpers/field_autocomplete.cpp
chat_helpers/field_autocomplete.h
chat_helpers/gifs_list_widget.cpp
chat_helpers/gifs_list_widget.h
chat_helpers/message_field.cpp
chat_helpers/message_field.h
chat_helpers/picker_animation_scheduler.cpp
chat_helpers/picker_animation_scheduler.h
chat_helpers/share_message_phrase_factory.cpp
chat_helpers/share_message_phrase_factory.h
chat_helpers/spellchecker_common.cpp
chat_helpers/spellchecker_common.h
chat_helpers/stickers_dice_pack.cpp
chat_helpers/stickers_dice_pack.h
chat_helpers/stickers_emoji_pack.cpp
chat_helpers/stickers_emoji_pack.h
chat_helpers/stickers_gift_box_pack.cpp
chat_helpers/stickers_gift_box_pack.h
chat_helpers/stickers_list_footer.cpp
chat_helpers/stickers_list_footer.h
chat_helpers/stickers_list_widget.cpp
chat_helpers/stickers_list_widget.h
chat_helpers/stickers_lottie.cpp
chat_helpers/stickers_lottie.h
chat_helpers/tabbed_panel.cpp
chat_helpers/tabbed_panel.h
chat_helpers/tabbed_section.cpp
chat_helpers/tabbed_section.h
chat_helpers/tabbed_selector.cpp
chat_helpers/tabbed_selector.h
chat_helpers/ttl_media_layer_widget.cpp
chat_helpers/ttl_media_layer_widget.h
core/application.cpp
core/application.h
core/cached_webview_availability.h
core/bank_card_click_handler.cpp
core/bank_card_click_handler.h
core/base_integration.cpp
core/base_integration.h
core/changelogs.cpp
core/changelogs.h
core/click_handler_types.cpp
core/click_handler_types.h
core/core_cloud_password.cpp
core/core_cloud_password.h
core/core_settings.cpp
core/core_settings.h
core/core_settings_proxy.cpp
core/core_settings_proxy.h
core/crash_report_window.cpp
core/crash_report_window.h
core/crash_reports.cpp
core/crash_reports.h
core/credits_amount.h
core/deadlock_detector.h
core/deep_links/deep_links_chats.cpp
core/deep_links/deep_links_chats.h
core/deep_links/deep_links_contacts.cpp
core/deep_links/deep_links_contacts.h
core/deep_links/deep_links_new.cpp
core/deep_links/deep_links_new.h
core/deep_links/deep_links_router.cpp
core/deep_links/deep_links_router.h
core/deep_links/deep_links_settings.cpp
core/deep_links/deep_links_settings.h
core/deep_links/deep_links_types.h
core/external_control.cpp
core/external_control.h
core/file_utilities.cpp
core/file_utilities.h
core/launcher.cpp
core/launcher.h
core/local_url_handlers.cpp
core/local_url_handlers.h
core/phone_click_handler.cpp
core/phone_click_handler.h
core/sandbox.cpp
core/sandbox.h
core/shortcuts.cpp
core/shortcuts.h
core/ui_integration.cpp
core/ui_integration.h
core/update_checker.cpp
core/update_checker.h
core/utils.cpp
core/utils.h
core/version.h
core/zsg_build.h
countries/countries_manager.cpp
countries/countries_manager.h
data/business/data_business_chatbots.cpp
data/business/data_business_chatbots.h
data/business/data_business_common.cpp
data/business/data_business_common.h
data/business/data_business_info.cpp
data/business/data_business_info.h
data/business/data_shortcut_messages.cpp
data/business/data_shortcut_messages.h
data/components/credits.cpp
data/components/credits.h
data/components/ephemeral_messages.cpp
data/components/ephemeral_messages.h
data/components/factchecks.cpp
data/components/factchecks.h
data/components/gift_auctions.cpp
data/components/gift_auctions.h
data/components/location_pickers.cpp
data/components/location_pickers.h
data/components/passkeys.cpp
data/components/passkeys.h
data/components/promo_suggestions.cpp
data/components/promo_suggestions.h
data/components/recent_inline_bots.cpp
data/components/recent_inline_bots.h
data/components/recent_peers.cpp
data/components/recent_peers.h
data/components/recent_shared_media_gifts.cpp
data/components/recent_shared_media_gifts.h
data/components/scheduled_messages.cpp
data/components/scheduled_messages.h
data/components/sponsored_messages.cpp
data/components/sponsored_messages.h
data/components/top_peers.cpp
data/components/top_peers.h
data/notify/data_notify_settings.cpp
data/notify/data_notify_settings.h
data/notify/data_peer_notify_settings.cpp
data/notify/data_peer_notify_settings.h
data/notify/data_peer_notify_volume.cpp
data/notify/data_peer_notify_volume.h
data/stickers/data_custom_emoji.cpp
data/stickers/data_custom_emoji.h
data/stickers/data_stickers_set.cpp
data/stickers/data_stickers_set.h
data/stickers/data_stickers.cpp
data/stickers/data_stickers.h
data/data_abstract_sparse_ids.h
data/data_abstract_structure.cpp
data/data_abstract_structure.h
data/data_ai_compose_tones.cpp
data/data_ai_compose_tones.h
data/data_audio_msg_id.cpp
data/data_audio_msg_id.h
data/data_auto_download.cpp
data/data_auto_download.h
data/data_boosts.h
data/data_bot_app.cpp
data/data_bot_app.h
data/data_chat.cpp
data/data_chat.h
data/data_chat_filters.cpp
data/data_chat_filters.h
data/data_chat_participant_status.cpp
data/data_chat_participant_status.h
data/data_changes.cpp
data/data_changes.h
data/data_channel.cpp
data/data_channel.h
data/data_channel_admins.cpp
data/data_channel_admins.h
data/data_cloud_file.cpp
data/data_cloud_file.h
data/data_cloud_themes.cpp
data/data_cloud_themes.h
data/data_community.cpp
data/data_community.h
data/data_document.cpp
data/data_document.h
data/data_document_media.cpp
data/data_document_media.h
data/data_document_resolver.cpp
data/data_document_resolver.h
data/data_download_manager.cpp
data/data_download_manager.h
data/data_drafts.cpp
data/data_drafts.h
data/data_emoji_statuses.cpp
data/data_emoji_statuses.h
data/data_folder.cpp
data/data_folder.h
data/data_forum.cpp
data/data_forum.h
data/data_forum_icons.cpp
data/data_forum_icons.h
data/data_forum_topic.cpp
data/data_forum_topic.h
data/data_file_click_handler.cpp
data/data_file_click_handler.h
data/data_file_origin.cpp
data/data_file_origin.h
data/data_flags.h
data/data_game.cpp
data/data_game.h
data/data_group_call.cpp
data/data_group_call.h
data/data_groups.cpp
data/data_groups.h
data/data_histories.cpp
data/data_histories.h
data/data_history_messages.cpp
data/data_history_messages.h
data/data_lastseen_status.h
data/data_location.cpp
data/data_location.h
data/data_media_preload.cpp
data/data_media_preload.h
data/data_media_rotation.cpp
data/data_media_rotation.h
data/data_media_types.cpp
data/data_media_types.h
# data/data_messages.cpp
# data/data_messages.h
data/data_message_reaction_id.cpp
data/data_message_reaction_id.h
data/data_message_reactions.cpp
data/data_message_reactions.h
data/data_msg_id.h
data/data_peer.cpp
data/data_peer.h
data/data_peer_bot_command.cpp
data/data_peer_bot_command.h
data/data_peer_bot_commands.cpp
data/data_peer_bot_commands.h
data/data_peer_common.h
data/data_peer_id.cpp
data/data_peer_id.h
data/data_peer_values.cpp
data/data_peer_values.h
data/data_photo.cpp
data/data_photo.h
data/data_photo_media.cpp
data/data_photo_media.h
data/data_poll.cpp
data/data_poll.h
data/data_poll_messages.cpp
data/data_poll_messages.h
data/data_premium_limits.cpp
data/data_premium_limits.h
data/data_pts_waiter.cpp
data/data_pts_waiter.h
data/data_replies_list.cpp
data/data_replies_list.h
data/data_reply_preview.cpp
data/data_reply_preview.h
data/data_report.h
data/data_saved_messages.cpp
data/data_saved_messages.h
data/data_saved_music.cpp
data/data_saved_music.h
data/data_saved_sublist.cpp
data/data_saved_sublist.h
data/data_search_controller.cpp
data/data_search_controller.h
data/data_send_action.cpp
data/data_send_action.h
data/data_session.cpp
data/data_session.h
data/data_shared_media.cpp
data/data_shared_media.h
data/data_sparse_ids.cpp
data/data_sparse_ids.h
data/data_star_gift.cpp
data/data_star_gift.h
data/data_statistics.h
data/data_stories.cpp
data/data_stories.h
data/data_stories_ids.cpp
data/data_stories_ids.h
data/data_story.cpp
data/data_story.h
data/data_streaming.cpp
data/data_streaming.h
data/data_thread.cpp
data/data_thread.h
data/data_todo_list.cpp
data/data_todo_list.h
data/data_types.cpp
data/data_types.h
data/data_unread_value.cpp
data/data_unread_value.h
data/data_user.cpp
data/data_user.h
data/data_user_photos.cpp
data/data_user_photos.h
data/data_user_names.cpp
data/data_user_names.h
data/data_wall_paper.cpp
data/data_wall_paper.h
data/data_web_page.cpp
data/data_web_page.h
dialogs/ui/dialogs_layout.cpp
dialogs/ui/dialogs_layout.h
dialogs/ui/dialogs_message_view.cpp
dialogs/ui/dialogs_message_view.h
dialogs/ui/dialogs_stories_content.cpp
dialogs/ui/dialogs_stories_content.h
dialogs/ui/dialogs_suggestions.cpp
dialogs/ui/dialogs_suggestions.h
dialogs/ui/dialogs_topics_view.cpp
dialogs/ui/dialogs_topics_view.h
dialogs/ui/dialogs_video_userpic.cpp
dialogs/ui/dialogs_video_userpic.h
dialogs/dialogs_community_chats_list.cpp
dialogs/dialogs_community_chats_list.h
dialogs/dialogs_community_requestable_list.cpp
dialogs/dialogs_community_requestable_list.h
dialogs/dialogs_community_rows_view.cpp
dialogs/dialogs_community_rows_view.h
dialogs/dialogs_entry.cpp
dialogs/dialogs_entry.h
dialogs/dialogs_indexed_list.cpp
dialogs/dialogs_indexed_list.h
dialogs/dialogs_inner_widget.cpp
dialogs/dialogs_inner_widget.h
dialogs/dialogs_inner_widget_accessibility.cpp
dialogs/dialogs_inner_widget_accessibility.h
dialogs/dialogs_key.cpp
dialogs/dialogs_key.h
dialogs/dialogs_list.cpp
dialogs/dialogs_list.h
dialogs/dialogs_main_list.cpp
dialogs/dialogs_main_list.h
dialogs/dialogs_pinned_list.cpp
dialogs/dialogs_pinned_list.h
dialogs/dialogs_quick_action.cpp
dialogs/dialogs_quick_action.h
dialogs/dialogs_row.cpp
dialogs/dialogs_row.h
dialogs/dialogs_search_from_controllers.cpp
dialogs/dialogs_search_from_controllers.h
dialogs/dialogs_search_tags.cpp
dialogs/dialogs_search_tags.h
dialogs/dialogs_search_posts.cpp
dialogs/dialogs_search_posts.h
dialogs/dialogs_top_bar_suggestion.cpp
dialogs/dialogs_top_bar_suggestion.h
dialogs/dialogs_top_bar_suggestion_test.cpp
dialogs/suggestions/suggestion.cpp
dialogs/suggestions/suggestion.h
dialogs/suggestions/suggestion_birthday_contacts.cpp
dialogs/suggestions/suggestion_birthday_setup.cpp
dialogs/suggestions/suggestion_custom_promo.cpp
dialogs/suggestions/suggestion_gift_auctions.cpp
dialogs/suggestions/suggestion_low_credits_subs.cpp
dialogs/suggestions/suggestion_premium_grace.cpp
dialogs/suggestions/suggestion_premium_offer.cpp
dialogs/suggestions/suggestion_unreviewed_auth.cpp
dialogs/suggestions/suggestion_userpic_setup.cpp
dialogs/dialogs_widget.cpp
dialogs/dialogs_widget.h
editor/color_picker.cpp
editor/color_picker.h
editor/controllers/controllers.h
editor/controllers/stickers_panel_controller.cpp
editor/controllers/stickers_panel_controller.h
editor/editor_paint.cpp
editor/editor_paint.h
editor/photo_editor.cpp
editor/photo_editor.h
editor/photo_editor_content.cpp
editor/photo_editor_content.h
editor/photo_editor_controls.cpp
editor/photo_editor_controls.h
editor/photo_editor_layer_widget.cpp
editor/photo_editor_layer_widget.h
editor/scene/scene_item_sticker.cpp
editor/scene/scene_item_sticker.h
export/export_manager.cpp
export/export_manager.h
export/view/export_view_content.cpp
export/view/export_view_content.h
export/view/export_view_panel_controller.cpp
export/view/export_view_panel_controller.h
export/view/export_view_progress.cpp
export/view/export_view_progress.h
export/view/export_view_settings.cpp
export/view/export_view_settings.h
export/view/export_view_top_bar.cpp
export/view/export_view_top_bar.h
history/admin_log/history_admin_log_filter.cpp
history/admin_log/history_admin_log_filter.h
history/admin_log/history_admin_log_inner.cpp
history/admin_log/history_admin_log_inner.h
history/admin_log/history_admin_log_item.cpp
history/admin_log/history_admin_log_item.h
history/admin_log/history_admin_log_section.cpp
history/admin_log/history_admin_log_section.h
history/view/controls/compose_controls_common.h
history/view/controls/history_view_compose_ai_button.cpp
history/view/controls/history_view_compose_ai_button.h
history/view/controls/history_view_compose_ai_tooltip.cpp
history/view/controls/history_view_compose_ai_tooltip.h
history/view/controls/history_view_compose_controls.cpp
history/view/controls/history_view_compose_controls.h
history/view/controls/history_view_compose_media_edit_manager.cpp
history/view/controls/history_view_compose_media_edit_manager.h
history/view/controls/history_view_compose_search.cpp
history/view/controls/history_view_compose_search.h
history/view/controls/history_view_draft_options.cpp
history/view/controls/history_view_draft_options.h
history/view/controls/history_view_forward_panel.cpp
history/view/controls/history_view_forward_panel.h
history/view/controls/history_view_rich_draft_preview.cpp
history/view/controls/history_view_rich_draft_preview.h
history/view/controls/history_view_suggest_options.cpp
history/view/controls/history_view_suggest_options.h
history/view/controls/history_view_ttl_button.cpp
history/view/controls/history_view_ttl_button.h
history/view/controls/history_view_voice_record_bar.cpp
history/view/controls/history_view_voice_record_bar.h
history/view/controls/history_view_webpage_processor.cpp
history/view/controls/history_view_webpage_processor.h
history/view/media/history_view_birthday_suggestion.cpp
history/view/media/history_view_birthday_suggestion.h
history/view/media/history_view_call.cpp
history/view/media/history_view_call.h
history/view/media/history_view_community_added.cpp
history/view/media/history_view_community_added.h
history/view/media/history_view_contact.cpp
history/view/media/history_view_contact.h
history/view/media/history_view_custom_emoji.cpp
history/view/media/history_view_custom_emoji.h
history/view/media/history_view_dice.cpp
history/view/media/history_view_dice.h
history/view/media/history_view_document.cpp
history/view/media/history_view_document.h
history/view/media/history_view_ephemeral_plate.cpp
history/view/media/history_view_ephemeral_plate.h
history/view/media/history_view_file.cpp
history/view/media/history_view_file.h
history/view/media/history_view_game.cpp
history/view/media/history_view_game.h
history/view/media/history_view_gif.cpp
history/view/media/history_view_gif.h
history/view/media/history_view_giveaway.cpp
history/view/media/history_view_giveaway.h
history/view/media/history_view_invoice.cpp
history/view/media/history_view_invoice.h
history/view/media/history_view_large_emoji.cpp
history/view/media/history_view_large_emoji.h
history/view/media/history_view_location.cpp
history/view/media/history_view_location.h
history/view/media/history_view_media.cpp
history/view/media/history_view_media.h
history/view/media/history_view_media_common.cpp
history/view/media/history_view_media_common.h
history/view/media/history_view_media_generic.cpp
history/view/media/history_view_media_generic.h
history/view/media/history_view_media_grouped.cpp
history/view/media/history_view_media_grouped.h
history/view/media/history_view_media_spoiler.cpp
history/view/media/history_view_media_spoiler.h
history/view/media/history_view_media_unwrapped.cpp
history/view/media/history_view_media_unwrapped.h
history/view/media/history_view_no_forwards_request.cpp
history/view/media/history_view_no_forwards_request.h
history/view/media/history_view_photo.cpp
history/view/media/history_view_photo.h
history/view/media/history_view_poll.cpp
history/view/media/history_view_poll.h
history/view/media/menu/history_view_poll_menu.cpp
history/view/media/menu/history_view_poll_menu.h
history/view/media/history_view_premium_gift.cpp
history/view/media/history_view_premium_gift.h
history/view/media/history_view_save_document_action.cpp
history/view/media/history_view_save_document_action.h
history/view/media/history_view_service_box.cpp
history/view/media/history_view_service_box.h
history/view/media/history_view_similar_channels.cpp
history/view/media/history_view_similar_channels.h
history/view/media/history_view_slot_machine.cpp
history/view/media/history_view_slot_machine.h
history/view/media/history_view_sticker.cpp
history/view/media/history_view_sticker.h
history/view/media/history_view_sticker_player.cpp
history/view/media/history_view_sticker_player.h
history/view/media/history_view_sticker_player_abstract.h
history/view/media/history_view_story_mention.cpp
history/view/media/history_view_story_mention.h
history/view/media/history_view_suggest_decision.cpp
history/view/media/history_view_suggest_decision.h
history/view/media/history_view_theme_document.cpp
history/view/media/history_view_theme_document.h
history/view/media/history_view_todo_list.cpp
history/view/media/history_view_todo_list.h
history/view/media/history_view_unique_gift.cpp
history/view/media/history_view_unique_gift.h
history/view/media/history_view_userpic_suggestion.cpp
history/view/media/history_view_userpic_suggestion.h
history/view/media/history_view_web_page.cpp
history/view/media/history_view_web_page.h
history/view/reactions/history_view_reactions.cpp
history/view/reactions/history_view_reactions.h
history/view/reactions/history_view_reactions_button.cpp
history/view/reactions/history_view_reactions_button.h
history/view/reactions/history_view_reactions_list.cpp
history/view/reactions/history_view_reactions_list.h
history/view/reactions/history_view_reactions_selector.cpp
history/view/reactions/history_view_reactions_selector.h
history/view/reactions/history_view_reactions_strip.cpp
history/view/reactions/history_view_reactions_strip.h
history/view/reactions/history_view_reactions_tabs.cpp
history/view/reactions/history_view_reactions_tabs.h
history/view/history_view_top_peers_selector.cpp
history/view/history_view_top_peers_selector.h
history/view/history_view_about_view.cpp
history/view/history_view_about_view.h
history/view/history_view_bottom_info.cpp
history/view/history_view_bottom_info.h
history/view/history_view_chat_preview.cpp
history/view/history_view_chat_preview.h
history/view/history_view_chat_section.cpp
history/view/history_view_chat_section.h
history/view/history_view_contact_status.cpp
history/view/history_view_contact_status.h
history/view/history_view_context_menu.cpp
history/view/history_view_context_menu.h
history/view/history_view_corner_buttons.cpp
history/view/history_view_corner_buttons.h
history/view/history_view_cursor_state.cpp
history/view/history_view_cursor_state.h
history/view/history_view_drag.cpp
history/view/history_view_drag.h
history/view/history_view_draw_to_reply.cpp
history/view/history_view_draw_to_reply.h
history/view/history_view_add_poll_option.cpp
history/view/history_view_add_poll_option.h
history/view/history_view_element_overlay.cpp
history/view/history_view_element_overlay.h
history/view/history_view_element.cpp
history/view/history_view_element.h
history/view/history_view_emoji_interactions.cpp
history/view/history_view_emoji_interactions.h
history/view/history_view_empty_list_bubble.cpp
history/view/history_view_empty_list_bubble.h
history/view/history_view_fake_items.cpp
history/view/history_view_fake_items.h
history/view/history_view_group_call_bar.cpp
history/view/history_view_group_call_bar.h
history/view/history_view_group_members_widget.cpp
history/view/history_view_group_members_widget.h
history/view/history_view_item_preview.h
history/view/history_view_keyboard_text_selection.cpp
history/view/history_view_keyboard_text_selection.h
history/view/history_view_list_widget.cpp
history/view/history_view_list_widget.h
history/view/history_view_message.cpp
history/view/history_view_message.h
history/view/history_view_object.h
history/view/history_view_paid_reaction_toast.cpp
history/view/history_view_paid_reaction_toast.h
history/view/history_view_pinned_bar.cpp
history/view/history_view_pinned_bar.h
history/view/history_view_pinned_section.cpp
history/view/history_view_pinned_section.h
history/view/history_view_pinned_tracker.cpp
history/view/history_view_pinned_tracker.h
history/view/history_view_quick_action.cpp
history/view/history_view_quick_action.h
history/view/history_view_reaction_preview.cpp
history/view/history_view_reaction_preview.h
history/view/history_view_read_metrics_tracker.cpp
history/view/history_view_read_metrics_tracker.h
history/view/history_view_reply.cpp
history/view/history_view_reply.h
history/view/history_view_reply_button.cpp
history/view/history_view_reply_button.h
history/view/history_view_requests_bar.cpp
history/view/history_view_requests_bar.h
history/view/history_view_schedule_box.cpp
history/view/history_view_schedule_box.h
history/view/history_view_scheduled_section.cpp
history/view/history_view_scheduled_section.h
history/view/history_view_self_forwards_tagger.cpp
history/view/history_view_self_forwards_tagger.h
history/view/history_view_send_action.cpp
history/view/history_view_send_action.h
history/view/history_view_service_message.cpp
history/view/history_view_service_message.h
history/view/history_view_sponsored_click_handler.cpp
history/view/history_view_sponsored_click_handler.h
history/view/history_view_sticker_toast.cpp
history/view/history_view_sticker_toast.h
history/view/history_view_subsection_tabs.cpp
history/view/history_view_subsection_tabs.h
history/view/history_view_summary_header.cpp
history/view/history_view_summary_header.h
history/view/history_view_text_helper.cpp
history/view/history_view_text_helper.h
history/view/history_view_transcribe_button.cpp
history/view/history_view_transcribe_button.h
history/view/history_view_translate_bar.cpp
history/view/history_view_translate_bar.h
history/view/history_view_translate_tracker.cpp
history/view/history_view_translate_tracker.h
history/view/history_view_top_bar_widget.cpp
history/view/history_view_top_bar_widget.h
history/view/history_view_view_button.cpp
history/view/history_view_view_button.h
history/view/history_view_webpage_preview.cpp
history/view/history_view_webpage_preview.h
history/history.cpp
history/history.h
history/history_drag_area.cpp
history/history_drag_area.h
history/history_item.cpp
history/history_item.h
history/history_item_components.cpp
history/history_item_components.h
history/history_item_edition.cpp
history/history_item_edition.h
history/history_item_helpers.cpp
history/history_item_helpers.h
history/history_item_reply_markup.cpp
history/history_item_reply_markup.h
history/history_item_text.cpp
history/history_item_text.h
history/history_inner_widget.cpp
history/history_inner_widget.h
history/history_inner_widget_accessibility.cpp
history/history_inner_widget_accessibility.h
history/history_location_manager.cpp
history/history_location_manager.h
history/history_streamed_drafts.cpp
history/history_streamed_drafts.h
history/history_translation.cpp
history/history_translation.h
history/history_unread_things.cpp
history/history_unread_things.h
history/history_view_highlight_manager.cpp
history/history_view_highlight_manager.h
history/history_view_pull_to_next_channel.cpp
history/history_view_pull_to_next_channel.h
history/history_view_swipe_back_session.cpp
history/history_view_swipe_back_session.h
history/history_widget.cpp
history/history_widget.h
info/bot/earn/info_bot_earn_list.cpp
info/bot/earn/info_bot_earn_list.h
info/bot/earn/info_bot_earn_widget.cpp
info/bot/earn/info_bot_earn_widget.h
info/bot/starref/info_bot_starref_common.cpp
info/bot/starref/info_bot_starref_common.h
info/bot/starref/info_bot_starref_join_widget.cpp
info/bot/starref/info_bot_starref_join_widget.h
info/bot/starref/info_bot_starref_setup_widget.cpp
info/bot/starref/info_bot_starref_setup_widget.h
info/channel_statistics/boosts/create_giveaway_box.cpp
info/channel_statistics/boosts/create_giveaway_box.h
info/channel_statistics/boosts/giveaway/giveaway_list_controllers.cpp
info/channel_statistics/boosts/giveaway/giveaway_list_controllers.h
info/channel_statistics/boosts/info_boosts_inner_widget.cpp
info/channel_statistics/boosts/info_boosts_inner_widget.h
info/channel_statistics/boosts/info_boosts_widget.cpp
info/channel_statistics/boosts/info_boosts_widget.h
info/channel_statistics/earn/info_channel_earn_list.cpp
info/channel_statistics/earn/info_channel_earn_list.h
info/channel_statistics/earn/info_channel_earn_widget.cpp
info/channel_statistics/earn/info_channel_earn_widget.h
info/common_groups/info_common_groups_inner_widget.cpp
info/common_groups/info_common_groups_inner_widget.h
info/common_groups/info_common_groups_widget.cpp
info/common_groups/info_common_groups_widget.h
info/community/info_community_widget.cpp
info/community/info_community_widget.h
info/community_requests/info_community_requests_widget.cpp
info/community_requests/info_community_requests_widget.h
info/downloads/info_downloads_inner_widget.cpp
info/downloads/info_downloads_inner_widget.h
info/downloads/info_downloads_provider.cpp
info/downloads/info_downloads_provider.h
info/downloads/info_downloads_widget.cpp
info/downloads/info_downloads_widget.h
info/global_media/info_global_media_widget.cpp
info/global_media/info_global_media_widget.h
info/global_media/info_global_media_inner_widget.cpp
info/global_media/info_global_media_inner_widget.h
info/global_media/info_global_media_provider.cpp
info/global_media/info_global_media_provider.h
info/media/info_media_buttons.cpp
info/media/info_media_buttons.h
info/media/info_media_common.cpp
info/media/info_media_common.h
info/media/info_media_empty_widget.cpp
info/media/info_media_empty_widget.h
info/media/info_media_grid_zoom.cpp
info/media/info_media_grid_zoom.h
info/media/info_media_inner_widget.cpp
info/media/info_media_inner_widget.h
info/media/info_media_list_section.cpp
info/media/info_media_list_section.h
info/media/info_media_list_widget.cpp
info/media/info_media_list_widget.h
info/media/info_media_provider.cpp
info/media/info_media_provider.h
info/media/info_media_widget.cpp
info/media/info_media_widget.h
info/members/info_members_widget.cpp
info/members/info_members_widget.h
info/peer_gifts/info_peer_gifts_collections.cpp
info/peer_gifts/info_peer_gifts_collections.h
info/peer_gifts/info_peer_gifts_common.cpp
info/peer_gifts/info_peer_gifts_common.h
info/peer_gifts/info_peer_gifts_widget.cpp
info/peer_gifts/info_peer_gifts_widget.h
info/polls/info_polls_list_widget.cpp
info/polls/info_polls_list_widget.h
info/polls/info_polls_results_inner_widget.cpp
info/polls/info_polls_results_inner_widget.h
info/polls/info_polls_results_widget.cpp
info/polls/info_polls_results_widget.h
info/profile/info_profile_actions.cpp
info/profile/info_profile_actions.h
info/profile/info_profile_badge_tooltip.cpp
info/profile/info_profile_badge_tooltip.h
info/profile/info_profile_badge.cpp
info/profile/info_profile_badge.h
info/profile/info_profile_birthday_effect.cpp
info/profile/info_profile_birthday_effect.h
info/profile/info_profile_cover.cpp
info/profile/info_profile_cover.h
info/profile/info_profile_emoji_status_panel.cpp
info/profile/info_profile_emoji_status_panel.h
info/profile/info_profile_inner_widget.cpp
info/profile/info_profile_inner_widget.h
info/profile/info_profile_members.cpp
info/profile/info_profile_members.h
info/profile/info_profile_members_controllers.cpp
info/profile/info_profile_members_controllers.h
info/profile/info_profile_phone_menu.cpp
info/profile/info_profile_phone_menu.h
info/profile/info_profile_section_stack.cpp
info/profile/info_profile_section_stack.h
info/profile/info_profile_shared_media_classic.cpp
info/profile/info_profile_shared_media_classic.h
info/profile/info_profile_status_label.cpp
info/profile/info_profile_status_label.h
info/profile/info_profile_top_bar.cpp
info/profile/info_profile_top_bar.h
info/profile/info_profile_values.cpp
info/profile/info_profile_values.h
info/profile/info_profile_widget.cpp
info/profile/info_profile_widget.h
info/profile/tabs/adapters/info_profile_tab_media.cpp
info/profile/tabs/adapters/info_profile_tab_media.h
info/profile/tabs/adapters/info_profile_tab_peer_lists.cpp
info/profile/tabs/adapters/info_profile_tab_peer_lists.h
info/profile/tabs/adapters/info_profile_tab_stories.cpp
info/profile/tabs/adapters/info_profile_tab_stories.h
info/profile/tabs/adapters/info_profile_tab_sub_controller.cpp
info/profile/tabs/adapters/info_profile_tab_sub_controller.h
info/profile/tabs/adapters/info_profile_tab_members.cpp
info/profile/tabs/adapters/info_profile_tab_members.h
info/profile/tabs/adapters/info_profile_tab_polls.cpp
info/profile/tabs/adapters/info_profile_tab_polls.h
info/profile/tabs/adapters/info_profile_tab_saved.cpp
info/profile/tabs/adapters/info_profile_tab_saved.h
info/profile/tabs/info_profile_tab_skeleton.cpp
info/profile/tabs/info_profile_tab_skeleton.h
info/profile/tabs/info_profile_tab_content.h
info/profile/tabs/info_profile_tab_top_bar_bindings.h
info/profile/tabs/info_profile_tabs_host.cpp
info/profile/tabs/info_profile_tabs_host.h
info/profile/tabs/info_profile_tabs_strip.cpp
info/profile/tabs/info_profile_tabs_strip.h
info/reactions_list/info_reactions_list_widget.cpp
info/reactions_list/info_reactions_list_widget.h
info/requests_list/info_requests_list_widget.cpp
info/requests_list/info_requests_list_widget.h
info/saved/info_saved_music_common.cpp
info/saved/info_saved_music_common.h
info/saved/info_saved_music_provider.cpp
info/saved/info_saved_music_provider.h
info/saved/info_saved_music_widget.cpp
info/saved/info_saved_music_widget.h
info/saved/info_saved_sublist_inline.cpp
info/saved/info_saved_sublist_inline.h
info/saved/info_saved_sublists_widget.cpp
info/saved/info_saved_sublists_widget.h
info/settings/info_settings_widget.cpp
info/settings/info_settings_widget.h
info/similar_peers/info_similar_peers_widget.cpp
info/similar_peers/info_similar_peers_widget.h
info/statistics/info_statistics_common.h
info/statistics/info_statistics_inner_widget.cpp
info/statistics/info_statistics_inner_widget.h
info/statistics/info_statistics_list_controllers.cpp
info/statistics/info_statistics_list_controllers.h
info/statistics/info_statistics_recent_message.cpp
info/statistics/info_statistics_recent_message.h
info/statistics/info_statistics_tag.h
info/statistics/info_statistics_widget.cpp
info/statistics/info_statistics_widget.h
info/stories/info_stories_albums.cpp
info/stories/info_stories_albums.h
info/stories/info_stories_common.h
info/stories/info_stories_inner_widget.cpp
info/stories/info_stories_inner_widget.h
info/stories/info_stories_provider.cpp
info/stories/info_stories_provider.h
info/stories/info_stories_widget.cpp
info/stories/info_stories_widget.h
info/userpic/info_userpic_colors_editor.cpp
info/userpic/info_userpic_colors_editor.h
info/userpic/info_userpic_emoji_builder.cpp
info/userpic/info_userpic_emoji_builder.h
info/userpic/info_userpic_emoji_builder_common.cpp
info/userpic/info_userpic_emoji_builder_common.h
info/userpic/info_userpic_emoji_builder_menu_item.cpp
info/userpic/info_userpic_emoji_builder_menu_item.h
info/userpic/info_userpic_emoji_builder_preview.cpp
info/userpic/info_userpic_emoji_builder_preview.h
info/userpic/info_userpic_emoji_builder_widget.cpp
info/userpic/info_userpic_emoji_builder_widget.h
info/info_content_widget.cpp
info/info_content_widget.h
info/info_controller.cpp
info/info_controller.h
info/info_layer_widget.cpp
info/info_layer_widget.h
info/info_memento.cpp
info/info_memento.h
info/info_section_widget.cpp
info/info_section_widget.h
info/info_top_bar.cpp
info/info_top_bar.h
info/info_wrap_widget.cpp
info/info_wrap_widget.h
inline_bots/bot_attach_web_view.cpp
inline_bots/bot_attach_web_view.h
inline_bots/inline_bot_confirm_prepared.cpp
inline_bots/inline_bot_confirm_prepared.h
inline_bots/inline_bot_downloads.cpp
inline_bots/inline_bot_downloads.h
inline_bots/inline_bot_layout_internal.cpp
inline_bots/inline_bot_layout_internal.h
inline_bots/inline_bot_layout_item.cpp
inline_bots/inline_bot_layout_item.h
inline_bots/inline_bot_result.cpp
inline_bots/inline_bot_result.h
inline_bots/inline_bot_send_data.cpp
inline_bots/inline_bot_send_data.h
inline_bots/inline_bot_storage.cpp
inline_bots/inline_bot_storage.h
inline_bots/inline_results_inner.cpp
inline_bots/inline_results_inner.h
inline_bots/inline_results_widget.cpp
inline_bots/inline_results_widget.h
intro/intro_code.cpp
intro/intro_code.h
intro/intro_email.cpp
intro/intro_email.h
intro/intro_password_check.cpp
intro/intro_password_check.h
intro/intro_phone.cpp
intro/intro_phone.h
intro/intro_qr.cpp
intro/intro_qr.h
intro/intro_signup.cpp
intro/intro_signup.h
intro/intro_start.cpp
intro/intro_start.h
intro/intro_step.cpp
intro/intro_step.h
intro/intro_widget.cpp
intro/intro_widget.h
iv/iv_cached_media.cpp
iv/iv_cached_media.h
iv/editor/iv_editor_session.cpp
iv/editor/iv_editor_session.h
iv/iv_delegate_impl.cpp
iv/iv_delegate_impl.h
iv/iv_instance.cpp
iv/iv_instance.h
iv/iv_rich_message_serializer.cpp
iv/iv_rich_message_serializer.h
iv/iv_rich_page.cpp
iv/iv_rich_page.h
lang/lang_cloud_manager.cpp
lang/lang_cloud_manager.h
lang/lang_instance.cpp
lang/lang_instance.h
lang/lang_numbers_animation.cpp
lang/lang_numbers_animation.h
lang/lang_translator.cpp
lang/lang_translator.h
lang/translate_mtproto_provider.cpp
lang/translate_mtproto_provider.h
lang/translate_provider.cpp
lang/translate_provider.h
lang/translate_url_provider.cpp
lang/translate_url_provider.h
layout/layout_document_generic_preview.cpp
layout/layout_document_generic_preview.h
layout/layout_item_base.cpp
layout/layout_item_base.h
main/main_account.cpp
main/main_account.h
main/main_app_config.cpp
main/main_app_config.h
main/main_app_config_values.cpp
main/main_app_config_values.h
main/main_domain.cpp
main/main_domain.h
main/main_session.cpp
main/main_session.h
main/main_session_settings.cpp
main/main_session_settings.h
main/session/send_as_peers.cpp
main/session/send_as_peers.h
main/session/session_show.cpp
main/session/session_show.h
media/audio/media_audio.cpp
media/audio/media_audio.h
media/audio/media_audio_edit.cpp
media/audio/media_audio_edit.h
media/audio/media_audio_capture.cpp
media/audio/media_audio_capture.h
media/audio/media_audio_capture_common.h
media/audio/media_audio_ffmpeg_loader.cpp
media/audio/media_audio_ffmpeg_loader.h
media/audio/media_audio_loader.cpp
media/audio/media_audio_loader.h
media/audio/media_audio_loaders.cpp
media/audio/media_audio_loaders.h
media/audio/media_audio_local_cache.cpp
media/audio/media_audio_local_cache.h
media/audio/media_audio_track.cpp
media/audio/media_audio_track.h
media/audio/media_child_ffmpeg_loader.cpp
media/audio/media_child_ffmpeg_loader.h
media/player/media_player_float.cpp
media/player/media_player_float.h
media/player/media_player_instance.cpp
media/player/media_player_instance.h
media/player/media_player_listen_tracker.cpp
media/player/media_player_listen_tracker.h
media/player/media_player_panel.cpp
media/player/media_player_panel.h
media/player/media_player_volume_controller.cpp
media/player/media_player_volume_controller.h
media/player/media_player_widget.cpp
media/player/media_player_widget.h
media/stories/media_stories_caption_full_view.cpp
media/stories/media_stories_caption_full_view.h
media/stories/media_stories_controller.cpp
media/stories/media_stories_controller.h
media/stories/media_stories_delegate.cpp
media/stories/media_stories_delegate.h
media/stories/media_stories_header.cpp
media/stories/media_stories_header.h
media/stories/media_stories_reactions.cpp
media/stories/media_stories_reactions.h
media/stories/media_stories_recent_views.cpp
media/stories/media_stories_recent_views.h
media/stories/media_stories_reply.cpp
media/stories/media_stories_reply.h
media/stories/media_stories_repost_view.cpp
media/stories/media_stories_repost_view.h
media/stories/media_stories_share.cpp
media/stories/media_stories_share.h
media/stories/media_stories_sibling.cpp
media/stories/media_stories_sibling.h
media/stories/media_stories_slider.cpp
media/stories/media_stories_slider.h
media/stories/media_stories_stealth.cpp
media/stories/media_stories_stealth.h
media/stories/media_stories_view.cpp
media/stories/media_stories_view.h
media/streaming/media_streaming_audio_track.cpp
media/streaming/media_streaming_audio_track.h
media/streaming/media_streaming_common.h
media/streaming/media_streaming_document.cpp
media/streaming/media_streaming_document.h
media/streaming/media_streaming_file.cpp
media/streaming/media_streaming_file.h
media/streaming/media_streaming_file_delegate.h
media/streaming/media_streaming_instance.cpp
media/streaming/media_streaming_instance.h
media/streaming/media_streaming_loader.cpp
media/streaming/media_streaming_loader.h
media/streaming/media_streaming_loader_local.cpp
media/streaming/media_streaming_loader_local.h
media/streaming/media_streaming_loader_mtproto.cpp
media/streaming/media_streaming_loader_mtproto.h
media/streaming/media_streaming_player.cpp
media/streaming/media_streaming_player.h
media/streaming/media_streaming_reader.cpp
media/streaming/media_streaming_reader.h
media/streaming/media_streaming_round_preview.cpp
media/streaming/media_streaming_round_preview.h
media/streaming/media_streaming_utility.cpp
media/streaming/media_streaming_utility.h
media/streaming/media_streaming_video_track.cpp
media/streaming/media_streaming_video_track.h
media/streaming/media_streaming_native_frame_mac.h
media/view/media_view_action_router.cpp
media/view/media_view_action_router.h
media/view/media_view_group_thumbs.cpp
media/view/media_view_group_thumbs.h
media/view/media_view_open_common.cpp
media/view/media_view_open_common.h
media/view/media_view_overlay_opengl.cpp
media/view/media_view_overlay_opengl.h
media/view/media_view_overlay_raster.cpp
media/view/media_view_overlay_raster.h
media/view/media_view_overlay_rhi.cpp
media/view/media_view_overlay_rhi.h
media/view/media_view_metal_texture.h
media/view/media_view_overlay_renderer.h
media/view/media_view_overlay_widget.cpp
media/view/media_view_overlay_widget.h
media/view/media_view_recognition_selection.cpp
media/view/media_view_recognition_selection.h
media/view/media_view_pip.cpp
media/view/media_view_pip.h
media/view/media_view_pip_opengl.cpp
media/view/media_view_pip_opengl.h
media/view/media_view_pip_raster.cpp
media/view/media_view_pip_raster.h
media/view/media_view_pip_rhi.cpp
media/view/media_view_pip_rhi.h
media/view/media_view_pip_renderer.h
media/view/media_view_playback_controls.cpp
media/view/media_view_playback_controls.h
media/view/media_view_playback_progress.cpp
media/view/media_view_playback_progress.h
media/view/media_view_playback_sponsored.cpp
media/view/media_view_playback_sponsored.h
media/view/media_view_video_stream.cpp
media/view/media_view_video_stream.h
media/system_media_controls_manager.h
media/system_media_controls_manager.cpp
menu/menu_antispam_validator.cpp
menu/menu_antispam_validator.h
menu/menu_dock.cpp
menu/menu_dock.h
menu/menu_item_download_files.cpp
menu/menu_item_download_files.h
menu/menu_item_rate_transcribe_session.cpp
menu/menu_item_rate_transcribe_session.h
menu/menu_mute.cpp
menu/menu_mute.h
menu/menu_send.cpp
menu/menu_send.h
menu/menu_sponsored.cpp
menu/menu_sponsored.h
menu/menu_ttl_validator.cpp
menu/menu_ttl_validator.h
mtproto/config/config_loader.cpp
mtproto/config/config_loader.h
mtproto/transport/connection_abstract.cpp
mtproto/transport/connection_abstract.h
mtproto/transport/connection_http.cpp
mtproto/transport/connection_http.h
mtproto/runtime/connection_status.cpp
mtproto/runtime/connection_status.h
mtproto/runtime/connection_status_types.h
mtproto/runtime/proxy_endpoint.h
mtproto/runtime/proxy_data.h
mtproto/runtime/runtime_environment.cpp
mtproto/runtime/runtime_environment.h
mtproto/proxy/control_plane.cpp
mtproto/proxy/control_plane.h
mtproto/proxy/dial_pacer.cpp
mtproto/proxy/dial_pacer.h
mtproto/proxy/proxy_services.cpp
mtproto/proxy/proxy_services.h
mtproto/proxy/proxy_endpoint_context.cpp
mtproto/proxy/proxy_endpoint_context.h
mtproto/proxy/capabilities.cpp
mtproto/proxy/capabilities.h
mtproto/proxy/data.cpp
mtproto/proxy/data.h
mtproto/proxy/dns_resolver_cache.cpp
mtproto/proxy/dns_resolver_cache.h
mtproto/proxy/transport_policy.cpp
mtproto/proxy/transport_policy.h
mtproto/proxy/status.cpp
mtproto/proxy/status.h
mtproto/proxy/resolving_connection.cpp
mtproto/proxy/resolving_connection.h
mtproto/proxy/socket_factory.cpp
mtproto/proxy/socket_factory.h
mtproto/transport/connection_tcp.cpp
mtproto/transport/connection_tcp.h
mtproto/core_types.h
mtproto/dc_id.h
mtproto/files/dedicated_file_loader.cpp
mtproto/files/dedicated_file_loader.h
mtproto/session/pause_state.cpp
mtproto/session/pause_state.h
mtproto/instance/mtp_instance.cpp
mtproto/instance/mtp_instance.h
mtproto/instance/request_registry.cpp
mtproto/instance/request_registry.h
mtproto/instance/rpc_error_handler.cpp
mtproto/instance/rpc_error_handler.h
mtproto/instance/sender.cpp
mtproto/proxy/diagnostics.cpp
mtproto/proxy/diagnostics.h
mtproto/proxy/check.cpp
mtproto/proxy/check.h
mtproto/proxy/mtproxy/client_hello_builder.cpp
mtproto/proxy/mtproxy/client_hello_builder.h
mtproto/proxy/mtproxy/client_hello_constants.h
mtproto/proxy/mtproxy/client_hello_fragmentation.cpp
mtproto/proxy/mtproxy/client_hello_facts.cpp
mtproto/proxy/mtproxy/client_hello_facts.h
mtproto/proxy/mtproxy/client_hello_profile.cpp
mtproto/proxy/mtproxy/client_hello_profile.h
mtproto/proxy/mtproxy/client_hello_rules.cpp
mtproto/proxy/mtproxy/endpoint_identity.cpp
mtproto/proxy/mtproxy/endpoint_identity.h
mtproto/proxy/mtproxy/handshake_diagnosis.h
mtproto/proxy/mtproxy/handshake_plan.cpp
mtproto/proxy/mtproxy/handshake_plan.h
mtproto/proxy/mtproxy/tls_socket.cpp
mtproto/proxy/mtproxy/tls_socket_diagnostics.cpp
mtproto/proxy/mtproxy/tls_socket.h
mtproto/proxy/mtproxy/tls_socket_handshake.cpp
mtproto/proxy/mtproxy/tls_socket_psk.cpp
mtproto/proxy/mtproxy/tls_socket_psk.h
mtproto/proxy/mtproxy/tls_socket_records.cpp
mtproto/proxy/mtproxy/tls_socket_transport.cpp
mtproto/proxy/mtproxy/tls_socket_transport.h
mtproto/proxy/mtproxy/tls_socket_utils.h
mtproto/proxy/wss/socket.cpp
mtproto/proxy/wss/socket.h
mtproto/instance/sender.h
mtproto/session/session.cpp
mtproto/session/session_delegate.h
mtproto/session/session.h
mtproto/session/session_role.h
mtproto/session/session_state.h
mtproto/session/options.h
mtproto/session/private/transport.cpp
mtproto/session/private/transport.h
mtproto/session/private/timings.h
mtproto/session/private/auth_factory.cpp
mtproto/session/private/auth_factory.h
mtproto/session/private/connection_factory.cpp
mtproto/session/private/connection_factory.h
mtproto/session/private/message_handler.cpp
mtproto/session/private/message_handler.h
mtproto/session/private/auth.cpp
mtproto/session/private/connection.cpp
mtproto/session/private/session_private.cpp
mtproto/session/private/receive.cpp
mtproto/session/private/send.cpp
mtproto/session/private/session_private.h
mtproto/config/special_config_request.cpp
mtproto/config/special_config_request.h
mtproto/type_utils.h
overview/overview_checkbox.cpp
overview/overview_checkbox.h
overview/overview_layout.cpp
overview/overview_layout.h
overview/overview_layout_delegate.h
poll/poll_link_box.cpp
poll/poll_link_box.h
poll/poll_link_thumbnail.cpp
poll/poll_link_thumbnail.h
poll/poll_media_upload.cpp
poll/poll_media_upload.h
passport/passport_encryption.cpp
passport/passport_encryption.h
passport/passport_form_controller.cpp
passport/passport_form_controller.h
passport/passport_form_view_controller.cpp
passport/passport_form_view_controller.h
passport/passport_panel.cpp
passport/passport_panel.h
passport/passport_panel_controller.cpp
passport/passport_panel_controller.h
passport/passport_panel_edit_contact.cpp
passport/passport_panel_edit_contact.h
passport/passport_panel_edit_document.cpp
passport/passport_panel_edit_document.h
passport/passport_panel_edit_scans.cpp
passport/passport_panel_edit_scans.h
passport/passport_panel_form.cpp
passport/passport_panel_form.h
passport/passport_panel_password.cpp
passport/passport_panel_password.h
payments/payments_checkout_process.cpp
payments/payments_checkout_process.h
payments/payments_form.cpp
payments/payments_form.h
payments/payments_non_panel_process.cpp
payments/payments_non_panel_process.h
payments/payments_reaction_process.cpp
payments/payments_reaction_process.h
platform/linux/file_utilities_linux.cpp
platform/linux/file_utilities_linux.h
platform/linux/launcher_linux.cpp
platform/linux/launcher_linux.h
platform/linux/integration_linux.cpp
platform/linux/integration_linux.h
platform/linux/main_window_linux.cpp
platform/linux/main_window_linux.h
platform/linux/notifications_manager_linux.cpp
platform/linux/notifications_manager_linux.h
platform/linux/overlay_widget_linux.h
platform/linux/specific_linux.cpp
platform/linux/specific_linux.h
platform/linux/translate_provider_linux.cpp
platform/linux/translate_provider_linux.h
platform/linux/tray_linux.cpp
platform/linux/tray_linux.h
platform/linux/webauthn_linux.cpp
platform/mac/file_utilities_mac.mm
platform/mac/file_utilities_mac.h
platform/mac/global_menu_mac.h
platform/mac/global_menu_mac.mm
platform/mac/launcher_mac.mm
platform/mac/launcher_mac.h
platform/mac/integration_mac.mm
platform/mac/integration_mac.h
platform/mac/mac_iconv_helper.c
platform/mac/main_window_mac.mm
platform/mac/main_window_mac.h
platform/mac/native_event_mac.h
platform/mac/native_event_mac.mm
platform/mac/notifications_manager_mac.mm
platform/mac/notifications_manager_mac.h
platform/mac/notifications_manager_mac_un.mm
platform/mac/notifications_manager_mac_un.h
platform/mac/overlay_widget_mac.h
platform/mac/overlay_widget_mac.mm
platform/mac/specific_mac.mm
platform/mac/specific_mac.h
platform/mac/specific_mac_p.mm
platform/mac/specific_mac_p.h
platform/mac/translate_provider_mac.h
platform/mac/translate_provider_mac.mm
platform/mac/tray_mac.h
platform/mac/tray_mac.mm
platform/mac/webauthn_mac.mm
platform/mac/window_title_mac.mm
platform/mac/touchbar/items/mac_formatter_item.h
platform/mac/touchbar/items/mac_formatter_item.mm
platform/mac/touchbar/items/mac_pinned_chats_item.h
platform/mac/touchbar/items/mac_pinned_chats_item.mm
platform/mac/touchbar/items/mac_scrubber_item.h
platform/mac/touchbar/items/mac_scrubber_item.mm
platform/mac/touchbar/mac_touchbar_audio.h
platform/mac/touchbar/mac_touchbar_audio.mm
platform/mac/touchbar/mac_touchbar_common.h
platform/mac/touchbar/mac_touchbar_common.mm
platform/mac/touchbar/mac_touchbar_controls.h
platform/mac/touchbar/mac_touchbar_controls.mm
platform/mac/touchbar/mac_touchbar_main.h
platform/mac/touchbar/mac_touchbar_main.mm
platform/mac/touchbar/mac_touchbar_manager.h
platform/mac/touchbar/mac_touchbar_manager.mm
platform/mac/touchbar/mac_touchbar_media_view.h
platform/mac/touchbar/mac_touchbar_media_view.mm
platform/win/file_utilities_win.cpp
platform/win/file_utilities_win.h
platform/win/launcher_win.cpp
platform/win/launcher_win.h
platform/win/integration_win.cpp
platform/win/integration_win.h
platform/win/main_window_win.cpp
platform/win/main_window_win.h
platform/win/media_clipboard_win.cpp
platform/win/media_clipboard_win.h
platform/win/notifications_manager_win.cpp
platform/win/notifications_manager_win.h
platform/win/overlay_widget_win.h
platform/win/specific_win.cpp
platform/win/specific_win.h
platform/win/translate_provider_win.h
platform/win/tray_win.cpp
platform/win/tray_win.h
platform/win/webauthn_win.cpp
platform/win/windows_app_user_model_id.cpp
platform/win/windows_app_user_model_id.h
platform/win/windows_dlls.cpp
platform/win/windows_dlls.h
platform/win/windows_autostart_task.cpp
platform/win/windows_autostart_task.h
platform/win/windows_taskbar_buttons.cpp
platform/win/windows_taskbar_buttons.h
platform/win/windows_toast_activator.cpp
platform/win/windows_toast_activator.h
platform/platform_file_utilities.cpp
platform/platform_file_utilities.h
platform/platform_launcher.h
platform/platform_integration.cpp
platform/platform_integration.h
platform/platform_main_window.h
platform/platform_notifications_manager.h
platform/platform_overlay_widget.cpp
platform/platform_overlay_widget.h
platform/platform_specific.h
platform/platform_translate_provider.h
platform/platform_tray.h
platform/platform_webauthn.h
platform/platform_window_title.h
profile/profile_block_widget.cpp
profile/profile_block_widget.h
profile/profile_cover_drop_area.cpp
profile/profile_cover_drop_area.h
settings/business/settings_away_message.cpp
settings/business/settings_away_message.h
settings/business/settings_shortcut_messages.cpp
settings/business/settings_shortcut_messages.h
settings/business/settings_chat_intro.cpp
settings/business/settings_chat_intro.h
settings/business/settings_chat_links.cpp
settings/business/settings_chat_links.h
settings/business/settings_chatbots.cpp
settings/business/settings_chatbots.h
settings/business/settings_greeting.cpp
settings/business/settings_greeting.h
settings/business/settings_location.cpp
settings/business/settings_location.h
settings/business/settings_quick_replies.cpp
settings/business/settings_quick_replies.h
settings/business/settings_recipients_helper.cpp
settings/business/settings_recipients_helper.h
settings/business/settings_working_hours.cpp
settings/business/settings_working_hours.h
settings/cloud_password/settings_cloud_password_email.cpp
settings/cloud_password/settings_cloud_password_email.h
settings/cloud_password/settings_cloud_password_email_confirm.cpp
settings/cloud_password/settings_cloud_password_email_confirm.h
settings/cloud_password/settings_cloud_password_hint.cpp
settings/cloud_password/settings_cloud_password_hint.h
settings/cloud_password/settings_cloud_password_input.cpp
settings/cloud_password/settings_cloud_password_input.h
settings/cloud_password/settings_cloud_password_login_email.cpp
settings/cloud_password/settings_cloud_password_login_email.h
settings/cloud_password/settings_cloud_password_login_email_confirm.cpp
settings/cloud_password/settings_cloud_password_login_email_confirm.h
settings/cloud_password/settings_cloud_password_manage.cpp
settings/cloud_password/settings_cloud_password_manage.h
settings/cloud_password/settings_cloud_password_start.cpp
settings/cloud_password/settings_cloud_password_start.h
settings/cloud_password/settings_cloud_password_step.cpp
settings/cloud_password/settings_cloud_password_step.h
settings/cloud_password/settings_cloud_password_validate_icon.cpp
settings/cloud_password/settings_cloud_password_validate_icon.h
settings/sections/settings_active_sessions.cpp
settings/sections/settings_active_sessions.h
settings/sections/settings_advanced.cpp
settings/sections/settings_advanced.h
settings/sections/settings_chat.cpp
settings/sections/settings_chat.h
settings/sections/settings_blocked_peers.cpp
settings/sections/settings_blocked_peers.h
settings/sections/settings_business.cpp
settings/sections/settings_business.h
settings/sections/settings_calls.cpp
settings/sections/settings_calls.h
settings/settings_codes.cpp
settings/settings_codes.h
settings/settings_common_session.cpp
settings/settings_common_session.h
settings/detailed_settings_button.cpp
settings/detailed_settings_button.h
settings/sections/settings_credits.cpp
settings/sections/settings_credits.h
settings/settings_credits_graphics.cpp
settings/settings_credits_graphics.h
settings/settings_experimental.cpp
settings/settings_experimental.h
settings/sections/settings_folders.cpp
settings/sections/settings_folders.h
settings/sections/settings_global_ttl.cpp
settings/sections/settings_global_ttl.h
settings/sections/settings_information.cpp
settings/sections/settings_information.h
settings/settings_intro.cpp
settings/settings_intro.h
settings/sections/settings_local_passcode.cpp
settings/sections/settings_local_passcode.h
settings/sections/settings_local_storage.cpp
settings/sections/settings_local_storage.h
settings/sections/settings_main.cpp
settings/sections/settings_main.h
settings/settings_recent_searches.cpp
settings/settings_recent_searches.h
settings/settings_search.cpp
settings/settings_search.h
settings/settings_faq_suggestions.cpp
settings/settings_faq_suggestions.h
settings/settings_builder.cpp
settings/settings_builder.h
settings/sections/settings_notifications.cpp
settings/sections/settings_notifications.h
settings/sections/settings_privacy_security.cpp
settings/sections/settings_privacy_security.h
settings/sections/settings_notifications_reactions.cpp
settings/sections/settings_notifications_reactions.h
settings/sections/settings_notifications_type.cpp
settings/sections/settings_notifications_type.h
settings/sections/settings_passkeys.cpp
settings/sections/settings_passkeys.h
settings/settings_power_saving.cpp
settings/settings_power_saving.h
settings/sections/settings_premium.cpp
settings/sections/settings_premium.h
settings/settings_privacy_controllers.cpp
settings/settings_privacy_controllers.h
settings/settings_scale_preview.cpp
settings/settings_scale_preview.h
settings/settings_type.h
settings/sections/settings_shortcuts.cpp
settings/sections/settings_shortcuts.h
settings/sections/settings_websites.cpp
settings/sections/settings_websites.h
storage/details/storage_file_utilities.cpp
storage/details/storage_file_utilities.h
storage/details/storage_settings_scheme.cpp
storage/details/storage_settings_scheme.h
storage/download_manager_mtproto.cpp
storage/download_manager_mtproto.h
storage/file_download.cpp
storage/file_download.h
storage/file_download_mtproto.cpp
storage/file_download_mtproto.h
storage/file_download_web.cpp
storage/file_download_web.h
storage/file_upload.cpp
storage/file_upload.h
storage/localimageloader.cpp
storage/localimageloader.h
storage/localstorage.cpp
storage/localstorage.h
storage/serialize_common.cpp
storage/serialize_common.h
storage/serialize_document.cpp
storage/serialize_document.h
storage/serialize_peer.cpp
storage/serialize_peer.h
storage/storage_account.cpp
storage/storage_account.h
storage/storage_cloud_blob.cpp
storage/storage_cloud_blob.h
storage/storage_domain.cpp
storage/storage_domain.h
storage/storage_facade.cpp
storage/storage_facade.h
storage/storage_media_prepare.cpp
storage/storage_media_prepare.h
storage/storage_shared_media.cpp
storage/storage_shared_media.h
storage/storage_sparse_ids_list.cpp
storage/storage_sparse_ids_list.h
storage/storage_user_photos.cpp
storage/storage_user_photos.h
storage/streamed_file_downloader.cpp
storage/streamed_file_downloader.h
support/support_autocomplete.cpp
support/support_autocomplete.h
support/support_common.cpp
support/support_common.h
support/support_helper.cpp
support/support_helper.h
support/support_preload.cpp
support/support_preload.h
support/support_templates.cpp
support/support_templates.h
tde2e/tde2e_integration.cpp
tde2e/tde2e_integration.h
test/test_agent.cpp
test/test_agent.h
test/test_capture.cpp
test/test_capture.h
test/test_launch_fuse.cpp
test/test_launch_fuse.h
test/test_log.cpp
test/test_log.h
test/test_messages.cpp
test/test_messages.h
test/test_open_handoff.cpp
test/test_open_handoff.h
test/test_runner.cpp
test/test_runner.h
test/test_scenario.cpp
test/test_widgets.cpp
test/test_widgets.h
ui/boxes/edit_invite_link_session.cpp
ui/boxes/edit_invite_link_session.h
ui/boxes/emoji_stake_box.cpp
ui/boxes/emoji_stake_box.h
ui/boxes/peer_qr_box.cpp
ui/boxes/peer_qr_box.h
ui/chat/attach/attach_item_single_file_preview.cpp
ui/chat/attach/attach_item_single_file_preview.h
ui/chat/attach/attach_item_single_media_preview.cpp
ui/chat/attach/attach_item_single_media_preview.h
ui/chat/choose_send_as.cpp
ui/chat/choose_send_as.h
ui/chat/choose_theme_controller.cpp
ui/chat/choose_theme_controller.h
ui/chat/sponsored_message_bar.cpp
ui/chat/sponsored_message_bar.h
ui/controls/compose_ai_button_factory.cpp
ui/controls/compose_ai_button_factory.h
ui/controls/custom_emoji_toast_icon.cpp
ui/controls/custom_emoji_toast_icon.h
ui/controls/emoji_button_factory.cpp
ui/controls/emoji_button_factory.h
ui/controls/location_picker.cpp
ui/controls/location_picker.h
ui/controls/silent_toggle.cpp
ui/controls/silent_toggle.h
ui/controls/table_rows.cpp
ui/controls/table_rows.h
ui/controls/userpic_button.cpp
ui/controls/userpic_button.h
ui/controls/warning_tooltip.cpp
ui/controls/warning_tooltip.h
ui/effects/animated_string.cpp
ui/effects/animated_string.h
ui/effects/credits_graphics.cpp
ui/effects/credits_graphics.h
ui/effects/emoji_fly_animation.cpp
ui/effects/emoji_fly_animation.h
ui/effects/message_sending_animation_common.h
ui/effects/message_sending_animation_controller.cpp
ui/effects/message_sending_animation_controller.h
ui/effects/reaction_fly_animation.cpp
ui/effects/reaction_fly_animation.h
ui/effects/thanos_effect.cpp
ui/effects/thanos_effect.h
ui/effects/thanos_effect_controller.cpp
ui/effects/thanos_effect_controller.h
ui/effects/thanos_effect_renderer.cpp
ui/effects/thanos_effect_renderer.h
ui/effects/thanos_effect_session.cpp
ui/effects/thanos_effect_session.h
ui/effects/send_action_animations.cpp
ui/effects/send_action_animations.h
ui/effects/voice_once_particles.cpp
ui/effects/voice_once_particles.h
ui/image/image.cpp
ui/image/image.h
ui/image/image_location.cpp
ui/image/image_location.h
ui/image/image_location_factory.cpp
ui/image/image_location_factory.h
ui/text/format_song_document_name.cpp
ui/text/format_song_document_name.h
ui/widgets/expandable_peer_list.cpp
ui/widgets/expandable_peer_list.h
ui/widgets/chat_filters_tabs_strip.cpp
ui/widgets/chat_filters_tabs_strip.h
ui/widgets/peer_bubble.cpp
ui/widgets/peer_bubble.h
ui/countryinput.cpp
ui/countryinput.h
ui/dynamic_thumbnails.cpp
ui/dynamic_thumbnails.h
ui/filter_icons.cpp
ui/filter_icons.h
ui/filter_icon_panel.cpp
ui/filter_icon_panel.h
ui/item_text_options.cpp
ui/item_text_options.h
ui/resize_area.h
ui/rows_scroll_cache.cpp
ui/rows_scroll_cache.h
ui/top_background_gradient.cpp
ui/top_background_gradient.h
ui/unread_badge.cpp
ui/unread_badge.h
ui/peer/video_userpic_player.cpp
ui/peer/video_userpic_player.h
webauthn/cable.h
webauthn/cable_box.cpp
webauthn/cable_box.h
webauthn/cable_ceremony.cpp
webauthn/webauthn_common.cpp
webauthn/webauthn_common.h
window/main_window.cpp
window/main_window.h
window/notifications_manager.cpp
window/notifications_manager.h
window/notifications_manager_default.cpp
window/notifications_manager_default.h
window/notifications_utilities.cpp
window/notifications_utilities.h
window/section_memento.h
window/section_widget.cpp
window/section_widget.h
window/window_adaptive.cpp
window/window_adaptive.h
window/window_chat_preview.cpp
window/window_chat_preview.h
window/window_chat_switch_process.cpp
window/window_chat_switch_process.h
window/window_connecting_widget.cpp
window/window_connecting_widget.h
window/window_controller.cpp
window/window_controller.h
window/window_filters_favorite.cpp
window/window_filters_favorite.h
window/window_filters_menu.cpp
window/window_filters_menu.h
window/window_history_hider.cpp
window/window_history_hider.h
window/window_lock_widgets.cpp
window/window_lock_widgets.h
window/window_main_menu.cpp
window/window_main_menu.h
window/window_main_menu_helpers.cpp
window/window_main_menu_helpers.h
window/window_media_preview.cpp
window/window_media_preview.h
window/window_peer_menu.cpp
window/window_peer_menu.h
window/window_section_common.h
window/window_separate_id.cpp
window/window_separate_id.h
window/session/window_session_media.cpp
window/window_session_controller.cpp
window/window_session_controller.h
window/window_session_controller_link_info.h
window/window_setup_email.cpp
window/window_setup_email.h
window/window_top_bar_wrap.h
window/themes/window_theme.cpp
window/themes/window_theme.h
window/themes/window_theme_editor.cpp
window/themes/window_theme_editor.h
window/themes/window_theme_editor_block.cpp
window/themes/window_theme_editor_block.h
window/themes/window_theme_editor_box.cpp
window/themes/window_theme_editor_box.h
window/themes/window_theme_preview.cpp
window/themes/window_theme_preview.h
window/themes/window_theme_warning.cpp
window/themes/window_theme_warning.h
window/themes/window_themes_chat.cpp
window/themes/window_themes_chat.h
window/themes/window_themes_cloud_list.cpp
window/themes/window_themes_cloud_list.h
window/themes/window_themes_embedded.cpp
window/themes/window_themes_embedded.h
window/themes/window_themes_generate_name.cpp
window/themes/window_themes_generate_name.h
apiwrap.cpp
apiwrap.h
config.h
logs.cpp
logs.h
main.cpp
mainwidget.cpp
mainwidget.h
mainwindow.cpp
mainwindow.h
settings.cpp
settings.h
stdafx.h
tray_accounts_menu.h
tray.cpp
tray.h
)
if (APPLE)
nice_target_sources(Telegram ${src_loc}
PRIVATE
tray_accounts_menu.cpp
media/view/media_view_metal_texture.mm
media/streaming/media_streaming_native_frame_mac.mm
)
else()
nice_target_sources(Telegram ${src_loc}
PRIVATE
tray_accounts_menu_dummy.cpp
)
endif()
if (NOT build_winstore)
remove_target_sources(Telegram ${src_loc}
platform/win/windows_start_task.cpp
platform/win/windows_start_task.h
)
endif()
if (DESKTOP_APP_USE_PACKAGED)
remove_target_sources(Telegram ${src_loc}
platform/mac/mac_iconv_helper.c
)
endif()
nice_target_sources(Telegram ${res_loc}
PRIVATE
qrc/emoji_1.qrc
qrc/emoji_2.qrc
qrc/emoji_3.qrc
qrc/emoji_4.qrc
qrc/emoji_5.qrc
qrc/emoji_6.qrc
qrc/emoji_7.qrc
qrc/emoji_8.qrc
qrc/emoji_preview.qrc
qrc/telegram/animations.qrc
qrc/telegram/export.qrc
qrc/telegram/picker.qrc
qrc/telegram/telegram.qrc
qrc/telegram/sounds.qrc
winrc/Telegram.rc
winrc/Telegram.manifest
langs/lang.strings
langs/cloud_lang.strings
numbers.txt
)
include(cmake/qrhi_shaders.cmake)
include(cmake/generate_models.cmake)
if (APPLE AND NOT build_macstore)
nice_target_sources(Telegram ${res_loc}
PRIVATE
qrc/telegram/mac_icons.qrc
)
endif()
if (WIN32)
# message(${CMAKE_GENERATOR})
# mt.exe -manifest "${res_loc}/winrc/Telegram.manifest" "-inputresource:\"$<TARGET_FILE:Telegram>\";#1" "-outputresource:\"$<TARGET_FILE:Telegram>\";#1" >NUL
# set(hash_symbol "#")
# set(release $<CONFIG:Release>)
# add_custom_command(
# TARGET
# Telegram
# POST_BUILD COMMAND
# $<IF:${release},mt.exe,echo.> $<${release}:-manifest> $<${release}:"${res_loc}/winrc/Telegram.manifest"> $<${release}:-inputresource:"$<TARGET_FILE:Telegram>"$<SEMICOLON>${hash_symbol}1> $<${release}:-outputresource:"$<TARGET_FILE:Telegram>"$<SEMICOLON>${hash_symbol}1> $<${release}:$<ANGLE-R>NUL>
# COMMENT
# $<IF:${release},"Appending compatibility manifest.","Finalizing build.">
# )
if (QT_VERSION LESS 6)
target_link_libraries(Telegram PRIVATE desktop-app::win_directx_helper)
endif()
target_link_options(Telegram PRIVATE /PDBPAGESIZE:8192)
elseif (APPLE)
if (NOT DESKTOP_APP_USE_PACKAGED)
target_link_libraries(Telegram PRIVATE desktop-app::external_iconv)
endif()
target_link_frameworks(Telegram PRIVATE CoreBluetooth)
target_link_frameworks_weak(Telegram PRIVATE UserNotifications)
set(icons_path ${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Images.xcassets)
if (CMAKE_GENERATOR STREQUAL Xcode)
target_add_resource(Telegram ${icons_path})
else()
set(icon_path ${icons_path}/Icon.iconset)
find_program(ICONUTIL iconutil)
find_program(PNG2ICNS png2icns)
if (ICONUTIL)
add_custom_command(
OUTPUT Icon.icns
COMMAND ${ICONUTIL}
ARGS
--convert icns
--output Icon.icns
${icon_path}
)
elseif (PNG2ICNS)
add_custom_command(
OUTPUT Icon.icns
COMMAND ${PNG2ICNS}
ARGS
Icon.icns
${icon_path}/icon_16x16.png
${icon_path}/icon_32x32.png
${icon_path}/icon_128x128.png
${icon_path}/icon_256x256.png
${icon_path}/icon_512x512.png
)
endif()
if (ICONUTIL OR PNG2ICNS)
set_source_files_properties(Icon.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
target_add_resource(Telegram Icon.icns)
endif()
endif()
set(lang_packs
en
de
es
it
nl
ko
pt-BR
)
foreach (lang ${lang_packs})
set(strings_path ${res_loc}/langs/${lang}.lproj/Localizable.strings)
set_source_files_properties(${strings_path} PROPERTIES
MACOSX_PACKAGE_LOCATION
Resources/${lang}.lproj
)
target_sources(Telegram PRIVATE ${strings_path})
source_group(TREE ${res_loc} PREFIX Resources FILES ${strings_path})
endforeach()
add_custom_command(TARGET Telegram
PRE_LINK
COMMAND mkdir -p $<TARGET_FILE_DIR:Telegram>/../Resources
COMMAND cp ${CMAKE_BINARY_DIR}/lib_ui.rcc $<TARGET_FILE_DIR:Telegram>/../Resources
COMMAND cp ${CMAKE_BINARY_DIR}/lib_spellcheck.rcc $<TARGET_FILE_DIR:Telegram>/../Resources
COMMAND cp ${CMAKE_BINARY_DIR}/external_microtex_bundled.rcc $<TARGET_FILE_DIR:Telegram>/../Resources
)
if (NOT build_macstore AND NOT DESKTOP_APP_DISABLE_CRASH_REPORTS)
if (DESKTOP_APP_USE_PACKAGED)
find_program(CRASHPAD_HANDLER crashpad_handler REQUIRED)
elseif (DESKTOP_APP_MAC_ARCH STREQUAL "x86_64" OR DESKTOP_APP_MAC_ARCH STREQUAL "arm64")
set(CRASHPAD_HANDLER "${libs_loc}/crashpad/out/$<IF:$<CONFIG:Debug>,Debug,Release>.${DESKTOP_APP_MAC_ARCH}/crashpad_handler")
else()
set(CRASHPAD_HANDLER "${libs_loc}/crashpad/out/$<IF:$<CONFIG:Debug>,Debug,Release>/crashpad_handler")
endif()
add_custom_command(TARGET Telegram
PRE_LINK
COMMAND mkdir -p $<TARGET_FILE_DIR:Telegram>/../Helpers
COMMAND cp ${CRASHPAD_HANDLER} $<TARGET_FILE_DIR:Telegram>/../Helpers/
)
endif()
else()
nice_target_sources(Telegram ${res_loc}
PRIVATE
qrc/telegram/bot_webview_shell.qrc
)
include(${cmake_helpers_loc}/external/glib/generate_dbus.cmake)
generate_dbus(Telegram org.freedesktop.portal. XdpBackground ${third_party_loc}/xdg-desktop-portal/data/org.freedesktop.portal.Background.xml)
generate_dbus(Telegram org.freedesktop.portal. FlatpakPortal ${src_loc}/platform/linux/org.freedesktop.portal.Flatpak.xml)
generate_dbus(Telegram org.freedesktop. XdgNotifications ${src_loc}/platform/linux/org.freedesktop.Notifications.xml)
endif()
if (build_macstore)
set(bundle_identifier "org.telegram.desktop")
set(bundle_entitlements "Telegram Lite.entitlements")
set(output_name "Telegram Lite")
target_link_options(Telegram
PRIVATE
-F${libs_loc}/breakpad/src/client/mac/build/Release
)
target_link_frameworks(Telegram PRIVATE Breakpad)
add_custom_command(TARGET Telegram
PRE_LINK
COMMAND rm -rf $<TARGET_FILE_DIR:Telegram>/../Frameworks
COMMAND mkdir -p $<TARGET_FILE_DIR:Telegram>/../Frameworks
COMMAND cp -a ${libs_loc}/breakpad/src/client/mac/build/Release/Breakpad.framework $<TARGET_FILE_DIR:Telegram>/../Frameworks/Breakpad.framework
COMMAND rm -rf $<TARGET_FILE_DIR:Telegram>/../Frameworks/Breakpad.framework/Resources/crash_report_sender.app
COMMAND rm -rf $<TARGET_FILE_DIR:Telegram>/../Frameworks/Breakpad.framework/Resources/Inspector
)
else()
if (CMAKE_GENERATOR STREQUAL Xcode)
set(bundle_identifier "com.tdesktop.Telegram$<$<CONFIG:Debug>:Debug>")
else()
set(bundle_identifier "com.tdesktop.Telegram")
endif()
set(bundle_entitlements "Telegram.entitlements")
set(output_name "Telegram")
endif()
if (CMAKE_GENERATOR STREQUAL Xcode)
set(bundle_identifier_plist "$(PRODUCT_BUNDLE_IDENTIFIER)")
else()
set(bundle_identifier_plist ${bundle_identifier})
endif()
set_target_properties(Telegram PROPERTIES
OUTPUT_NAME ${output_name}
MACOSX_BUNDLE_GUI_IDENTIFIER ${bundle_identifier}
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Telegram.plist
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/Telegram/${bundle_entitlements}"
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER ${bundle_identifier}
XCODE_ATTRIBUTE_CURRENT_PROJECT_VERSION ${desktop_app_version_string}
XCODE_ATTRIBUTE_PRODUCT_NAME ${output_name}
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME Icon
XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES
XCODE_ATTRIBUTE_COMBINE_HIDPI_IMAGES YES
XCODE_ATTRIBUTE_COPY_PHASE_STRIP NO
XCODE_ATTRIBUTE_ALWAYS_SEARCH_USER_PATHS NO
XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY libc++
XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS --deep
XCODE_ATTRIBUTE_CLANG_DEBUG_INFORMATION_LEVEL $<IF:$<CONFIG:Debug>,default,line-tables-only>
)
set(entitlement_sources
"${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Telegram.entitlements"
"${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Telegram Lite.entitlements"
)
target_sources(Telegram PRIVATE ${entitlement_sources})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/Telegram PREFIX Resources FILES ${entitlement_sources})
target_include_directories(Telegram PRIVATE ${src_loc})
target_compile_definitions(Telegram
PRIVATE
TDESKTOP_API_ID=${TDESKTOP_API_ID}
TDESKTOP_API_HASH=${TDESKTOP_API_HASH}
G_LOG_DOMAIN="Telegram"
)
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (APPLE
OR is_multi_config
OR NOT CMAKE_EXECUTABLE_SUFFIX STREQUAL ""
OR NOT "${output_name}" STREQUAL "Telegram")
set(output_folder ${CMAKE_BINARY_DIR})
else()
set(output_folder ${CMAKE_BINARY_DIR}/bin)
endif()
set_target_properties(Telegram PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
if (MSVC)
target_link_libraries(Telegram
PRIVATE
delayimp
Dnsapi
)
target_link_options(Telegram
PRIVATE
/DELAYLOAD:secur32.dll
/DELAYLOAD:winmm.dll
/DELAYLOAD:ws2_32.dll
/DELAYLOAD:user32.dll
/DELAYLOAD:gdi32.dll
/DELAYLOAD:advapi32.dll
/DELAYLOAD:avrt.dll
/DELAYLOAD:shell32.dll
/DELAYLOAD:ole32.dll
/DELAYLOAD:oleaut32.dll
/DELAYLOAD:shlwapi.dll
/DELAYLOAD:iphlpapi.dll
/DELAYLOAD:dnsapi.dll
/DELAYLOAD:gdiplus.dll
/DELAYLOAD:version.dll
/DELAYLOAD:dwmapi.dll
/DELAYLOAD:uxtheme.dll
/DELAYLOAD:crypt32.dll
/DELAYLOAD:bcrypt.dll
/DELAYLOAD:netapi32.dll
/DELAYLOAD:mpr.dll
/DELAYLOAD:imm32.dll
/DELAYLOAD:userenv.dll
/DELAYLOAD:wtsapi32.dll
/DELAYLOAD:propsys.dll
)
if (QT_VERSION GREATER 6)
if (NOT build_winarm)
target_link_options(Telegram PRIVATE
/DELAYLOAD:API-MS-Win-EventLog-Legacy-l1-1-0.dll
)
endif()
target_link_options(Telegram
PRIVATE
/DELAYLOAD:API-MS-Win-Core-Console-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Fibers-l2-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Fibers-l2-1-1.dll
/DELAYLOAD:API-MS-Win-Core-File-l1-1-0.dll
# Not delayed: WindowsApp.lib binds LoadLibraryExA here, and
# __delayLoadHelper2 calls it to resolve delayed imports -- self-recurses.
/DELAYLOAD:API-MS-Win-Core-Localization-l1-2-0.dll
/DELAYLOAD:API-MS-Win-Core-Memory-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Memory-l1-1-1.dll
/DELAYLOAD:API-MS-Win-Core-ProcessThreads-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Synch-l1-2-0.dll # Synchronization.lib
/DELAYLOAD:API-MS-Win-Core-SysInfo-l1-1-0.dll
# /DELAYLOAD:API-MS-Win-Core-Timezone-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-Error-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-String-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Security-CryptoAPI-l1-1-0.dll
# /DELAYLOAD:API-MS-Win-Shcore-Scaling-l1-1-1.dll # We shadowed GetDpiForMonitor
/DELAYLOAD:authz.dll # Authz.lib
/DELAYLOAD:comdlg32.dll
/DELAYLOAD:dwrite.dll # DWrite.lib
/DELAYLOAD:dxgi.dll # DXGI.lib
/DELAYLOAD:d3d9.dll # D3D9.lib
/DELAYLOAD:d3d11.dll # D3D11.lib
/DELAYLOAD:d3d12.dll # D3D12.lib
/DELAYLOAD:setupapi.dll # SetupAPI.lib
/DELAYLOAD:winhttp.dll
)
endif()
endif()
target_prepare_qrc(Telegram)
if (NOT DESKTOP_APP_DISABLE_AUTOUPDATE AND NOT build_macstore AND NOT build_winstore)
add_executable(Updater WIN32)
init_non_host_target(Updater)
add_dependencies(Telegram Updater)
nice_target_sources(Updater ${src_loc}
PRIVATE
_other/updater_win.cpp
_other/updater_linux.cpp
_other/updater_osx.m
_other/updater.h
)
set_target_properties(Updater PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${output_folder}
)
if (WIN32)
get_filename_component(lib_base_loc lib_base REALPATH)
nice_target_sources(Updater ${lib_base_loc}
PRIVATE
base/platform/win/base_windows_safe_library.cpp
base/platform/win/base_windows_safe_library.h
)
target_include_directories(Updater PRIVATE ${lib_base_loc})
if (MSVC)
target_link_libraries(Updater
PRIVATE
delayimp
)
target_link_options(Updater
PRIVATE
/DELAYLOAD:user32.dll
/DELAYLOAD:advapi32.dll
/DELAYLOAD:shell32.dll
/DELAYLOAD:ole32.dll
/DELAYLOAD:shlwapi.dll
)
else()
target_link_options(Updater PRIVATE -municode)
endif()
elseif (APPLE)
add_custom_command(TARGET Updater
POST_BUILD
COMMAND mkdir -p $<TARGET_FILE_DIR:Telegram>/../Frameworks
COMMAND cp $<TARGET_FILE:Updater> $<TARGET_FILE_DIR:Telegram>/../Frameworks/
)
endif()
if (DESKTOP_APP_SPECIAL_TARGET OR ZASTOGRAM_PACKER)
add_executable(Packer)
init_target(Packer)
if (DESKTOP_APP_SPECIAL_TARGET)
add_dependencies(Telegram Packer)
endif()
nice_target_sources(Packer ${src_loc}
PRIVATE
_other/packer.cpp
_other/packer.h
)
target_link_libraries(Packer
PRIVATE
desktop-app::external_qt
desktop-app::external_zlib
desktop-app::external_auto_updates
desktop-app::external_openssl
)
if (DESKTOP_APP_USE_PACKAGED)
target_compile_definitions(Packer PRIVATE PACKER_USE_PACKAGED)
endif()
set_target_properties(Packer PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
endif()
elseif (build_winstore)
add_executable(StartupTask WIN32)
init_non_host_target(StartupTask)
add_dependencies(Telegram StartupTask)
nice_target_sources(StartupTask ${src_loc}
PRIVATE
_other/startup_task_win.cpp
)
set_target_properties(StartupTask PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${output_folder}
)
endif()
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
include(GNUInstallDirs)
configure_file("../lib/xdg/org.telegram.desktop.service" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" @ONLY)
configure_file("../lib/xdg/org.telegram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" @ONLY)
generate_appstream_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml")
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon16@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon32@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon48@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon64@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon128@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon256@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon512@2x.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512@2/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "org.telegram.desktop-symbolic.svg")
install(FILES "Resources/icons/tray_monochrome_attention.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "org.telegram.desktop-attention-symbolic.svg")
install(FILES "Resources/icons/tray_monochrome_mute.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "org.telegram.desktop-mute-symbolic.svg")
install(FILES "../lib/xdg/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
endif()