a4c98e74ce
MetaLang, codegen_style and codegen_numbers utilities are now built by GYP targets, rules added for codegen_style and actions added for codegen_numbers and MetaLang. WinXP supported without Windows 7.1A SDK, but with explicitly setting MinimumRequiredVersion=5.01. It works (and that is strange). If you attempt to use MSBuild instead of Ninja you should add the latest Windows SDK include paths to include_dirs, because v140_xp toolset implies the Windows 7.1A SDK (and is ignored by Ninja). |
||
---|---|---|
.github | ||
.travis | ||
Telegram | ||
doc | ||
lib/xdg | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
Telegram.sln |
README.md
Telegram Desktop – Official Messenger
This is the complete source code and the build instructions for the alpha version of the official desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol.
The source code is published under GPLv3 with OpenSSL exception, the license is available here.
Supported systems
- Windows XP - Windows 10 (not RT)
- Mac OS X 10.8 - Mac OS X 10.11
- Mac OS X 10.6 - Mac OS X 10.7 (separate build)
- Ubuntu 12.04 - Ubuntu 16.04
- Fedora 22
Third-party libraries
- Qt 5.3.2 and 5.6.0, slightly patched (LGPL)
- OpenSSL 1.0.1g (OpenSSL License)
- zlib 1.2.8 (zlib License)
- libexif 0.6.20 (LGPL)
- LZMA SDK 9.20 (public domain)
- liblzma (public domain)
- Google Breakpad (License)
- Google Crashpad (Apache License 2.0)
- OpenAL Soft (LGPL)
- Opus codec (BSD license)
- FFmpeg (LGPL)
- Open Sans font (Apache License 2.0)
Build instructions
- Visual Studio 2015
- Xcode 7
- Xcode 7 for OS X 10.6 and 10.7
- Qt Creator 3.5.1 Ubuntu
- Using qmake on GNU/Linux
Projects in Telegram solution
-
Telegram
Telegram Desktop messenger
-
Updater
A little app, that is launched by Telegram when update is ready, replaces all files and launches it back.
-
Packer
Compiles given files to single update file, compresses it with lzma and signs with a private key. It is not built in Debug and Release configurations of Telegram solution, because private key is inaccessible.
-
MetaEmoji
Creates four sprites and text2emoji replace code
- SourceFiles/art/emoji.png
- SourceFiles/art/emoji_125x.png
- SourceFiles/art/emoji_150x.png
- SourceFiles/art/emoji_200x.png
- SourceFiles/art/emoji_250x.png
- SourceFiles/ui/emoji_config.cpp
-
codegen_style
-
codegen_numbers
Helper code generating console utilities.
-
MetaLang
Creates from languagepack file
Resources/lang.strings
language constants code and language file parse code:- GeneratedFiles/lang.h
- GeneratedFiles/lang.cpp