mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-01-17 20:54:11 +00:00
Updated The Packaged Building Mode (markdown)
parent
136ea24be5
commit
120ec13846
@ -62,8 +62,6 @@ As of October 11, 2021, packaged mode is the default, it's controlled by **DESKT
|
||||
|
||||
As of October 11, 2021, there's **DESKTOP_APP_USE_PACKAGED_LAZY**, it silences the warnings when some library is not found + activates bundling of third-party (i.e. not included in Qt) CJK input methods for Linux (as of October 11, 2021: fcitx, fcitx5, hime, nimf). It's invented for self-contained distribution formats like AppImage, Flatpak, Snap. The official non-packaged mode bundles them as well.
|
||||
|
||||
As of October 11, 2021, there's **DESKTOP_APP_USE_PACKAGED_FFMPEG_STATIC** and **TG_OWT_PACKAGED_BUILD_FFMPEG_STATIC** (for tg_owt respectively) invented for convenient building of macOS app bundle. That is, macdeployqt rewrites rpaths of direct dependencies only and doesn't process libraries recursively. Since brew's ffmpeg contains a lot of dependencies, you may want to build ffmpeg manually and link it statically, to avoid the headache of manual libraries processing.
|
||||
|
||||
As of October 11, 2021, there's **DESKTOP_APP_USE_PACKAGED_FONTS** that defaults to ON. If you leave it to default value, make sure your package hardly depends on Open Sans font in your packaging system. tdesktop's widgets won't work properly without Open Sans. If you can't package Open Sans or make tdesktop depend on it, set **DESKTOP_APP_USE_PACKAGED_FONTS** to OFF. That way, you can provide non-broken UI for users of your package.
|
||||
|
||||
I won't describe how to build all the dependencies since the point of the manual is how to build tdesktop using pre-built packages, but I'll describe how to build tg_owt, Telegram's fork of [Intel's fork](https://github.com/open-webrtc-toolkit/owt-deps-webrtc) of [Google WebRTC library](https://webrtc.googlesource.com/src). Sounds like a matroska, yeah? The reason for that is they use H265 for calls that is present only in Intel's fork. The reason for their own fork is Telegram uses libraries such as ffmpeg that are used by WebRTC as well, but WebRTC uses its own bundled copies that results in multiple copies of the same libraries mess up in one binary. There's also an annoying thing you must use gclient to clone webrtc and its minimal supported version of macOS is greater than minimal supported version of macOS in webrtc itself, so you can't build on older macOS just due to gclient. If these two problems aren't problems for you, you can try your luck with the Intel's fork. I think, it should work, but you would need some changes to tdesktop's cmake files since it finds tg_owt with find_package in the packaged mode.
|
||||
|
Loading…
Reference in New Issue
Block a user