## [Telegram Desktop](https://tdesktop.com) – Official Telegram Messenger app This is complete source code and build instructions for alpha version of official desktop client for [Telegram](https://telegram.org) messenger, based on [Telegram API](https://core.telegram.org/) and [MTProto](https://core.telegram.org/mtproto) secure protocol. Source code is published under GPL v3, license is available [here](https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE). ###Supported systems * Windows XP - Windows 8.1 (**not** RT) * Mac OS X 10.8 - Mac OS X 10.10 * Mac OS X 10.6 - Mac OS X 10.7 (separate build) * Ubuntu 12.04 - Ubuntu 14.04 * Fedora 22 ###Third-party * Qt 5.3.2 and 5.5.0, slightly patched ([LGPL](http://qt-project.org/doc/qt-5/lgpl.html)) * OpenSSL 1.0.1g ([OpenSSL License](https://www.openssl.org/source/license.html)) * zlib 1.2.8 ([zlib License](http://www.zlib.net/zlib_license.html)) * libexif 0.6.20 ([LGPL](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)) * LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html)) * liblzma ([public domain](http://tukaani.org/xz/)) * OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html)) * Opus codec ([BSD license](http://www.opus-codec.org/license/)) * FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html)) * Open Sans font ([Apache License](http://www.apache.org/licenses/LICENSE-2.0.html)) ###[Build instructions for Visual Studio 2013](https://github.com/telegramdesktop/tdesktop/blob/master/MSVC.md) ###[Build instructions for XCode 6.4](https://github.com/telegramdesktop/tdesktop/blob/master/XCODE.md) ###[Build instructions for XCode 6.4 for OS X 10.6 and 10.7](https://github.com/telegramdesktop/tdesktop/blob/master/XCODEold.md) ###[Build instructions for Qt Creator 3.2.0 Ubuntu](https://github.com/telegramdesktop/tdesktop/blob/master/QTCREATOR.md) ##Projects in Telegram solution ####Telegram tdesktop messenger ####Updater 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 ####Prepare prepares a release for deployment, puts all files to deploy/{version} folder, for Win: * current tsetup{version}exe installer * current Telegram.exe * current Telegram.pdb (debug info for crash minidumps view) * current tupdate{updversion} binary lzma update archive for Mac: * current tsetup{version}dmg * current Telegram.app * current tmacupd{updversion} binary lzma update archive ####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/gui/emoji_config.cpp ####MetaStyle from two files and two sprites * Resources/style_classes.txt * Resources/style.txt * SourceFiles/art/sprite.png * SourceFiles/art/sprite_200x.png creates two other sprites, four sprite grids and style constants code * SourceFiles/art/sprite_125x.png * SourceFiles/art/sprite_150x.png * SourceFiles/art/grid.png * SourceFiles/art/grid_125x.png * SourceFiles/art/grid_150x.png * SourceFiles/art/grid_200x.png * GeneratedFiles/style_classes.h * GeneratedFiles/style_auto.h * GeneratedFiles/style_auto.cpp ####MetaLang from langpack file * Resources/lang.txt creates lang constants code and lang file parse code * GeneratedFiles/lang.h * GeneratedFiles/lang.cpp