mirror of https://github.com/procxx/kepka.git
build instructions done for os x version
This commit is contained in:
parent
cb1e9e8ff1
commit
1420ff720e
|
@ -0,0 +1,113 @@
|
||||||
|
##Build instructions for Visual Studio 2013
|
||||||
|
|
||||||
|
###Prepare folder
|
||||||
|
|
||||||
|
Choose a folder for the future build, for example **D:\TBuild\**. There you will have two folders, **Libraries** for third-party libs and **tdesktop** (or **tdesktop-master**) for the app.
|
||||||
|
|
||||||
|
###Clone source code
|
||||||
|
|
||||||
|
By git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild** and run
|
||||||
|
|
||||||
|
git clone https://github.com/telegramdesktop/tdesktop.git
|
||||||
|
|
||||||
|
or download in ZIP and extract to **D:\TBuild\**, rename **tdesktop-master** to **tdesktop** to have **D:\TBuild\tdesktop\Telegram.sln** solution
|
||||||
|
|
||||||
|
###Prepare libraries
|
||||||
|
|
||||||
|
####OpenSSL 1.0.1g
|
||||||
|
|
||||||
|
https://www.openssl.org/related/binaries.html > **OpenSSL for Windows** > Download [**Win32 OpenSSL v1.0.1g** (16 Mb)](http://slproweb.com/download/Win32OpenSSL-1_0_1g.exe)
|
||||||
|
|
||||||
|
Install to **D:\TBuild\Libraries\OpenSSL-Win32**, while installing **Copy OpenSSL DLLs to** choose **The OpenSSL binaries (/bin) directory**
|
||||||
|
|
||||||
|
####LZMA SDK 9.20
|
||||||
|
|
||||||
|
http://www.7-zip.org/sdk.html > Download [**LZMA SDK (C, C++, C#, Java)** 9.20](http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2)
|
||||||
|
|
||||||
|
Extract to **D:\TBuild\Libraries**
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* Open in VS2013 **D:\TBuild\Libraries\lzma\C\Util\LzmaLib\LzmaLib.dsw** > One-way upgrade – **OK**
|
||||||
|
* For **Debug** and **Release** configurations
|
||||||
|
* LzmaLib Properties > General > Configuration Type = **Static library (.lib)** – **OK**
|
||||||
|
* LzmaLib Properties > Librarian > General > Target Machine = **MachineX86 (/MACHINE:X86)** – **OK**
|
||||||
|
* Build Debug configuration
|
||||||
|
* Build Release configuration
|
||||||
|
|
||||||
|
####zlib 1.2.8
|
||||||
|
|
||||||
|
http://www.zlib.net/ > Download [**zlib source code, version 1.2.8, zipfile format**](http://zlib.net/zlib128.zip)
|
||||||
|
|
||||||
|
Extract to **D:\TBuild\Libraries\**
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* Open in VS2013 **D:\TBuild\Libraries\zlib-1.2.8\contrib\vstudio\vc11\zlibvc.sln** > One-way upgrade – **OK**
|
||||||
|
* We are interested only in **zlibstat** project, but it depends on some custom pre-build step, so build all
|
||||||
|
* For **Debug** configuration
|
||||||
|
* zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded Debug (/MTd)** – **OK**
|
||||||
|
* For **Release** configuration
|
||||||
|
* zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded (/MT)** – **OK**
|
||||||
|
* Build Solution for Debug configuration – only **zlibstat** project builds successfully
|
||||||
|
* Build Solution for Release configuration – only **zlibstat** project builds successfully
|
||||||
|
|
||||||
|
####libexif 0.6.20
|
||||||
|
|
||||||
|
Get sources from https://github.com/telegramdesktop/libexif-0.6.20, by git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run
|
||||||
|
|
||||||
|
git clone https://github.com/telegramdesktop/libexif-0.6.20.git
|
||||||
|
|
||||||
|
or download in ZIP and extract to **D:\TBuild\Libraries\**, rename **libexif-0.6.20-master** to **libexif-0.6.20** to have **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln** solution
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* Open in VS2013 **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln**
|
||||||
|
* Build Debug configuration
|
||||||
|
* Build Release configuration
|
||||||
|
|
||||||
|
####Qt 5.3.0, slightly patched
|
||||||
|
|
||||||
|
http://download.qt-project.org/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.zip
|
||||||
|
|
||||||
|
Extract to **D:\TBuild\Libraries\**, rename **qt-everywhere-opensource-src-5.3.0** to **QtStatic** to have **D:\TBuild\Libraries\QtStatic\qtbase\** folder
|
||||||
|
|
||||||
|
Apply patch – copy (with overwrite!) everything from **D:\TBuild\tdesktop\\\_qt\_5\_3\_0\_patch\** to **D:\TBuild\Libraries\QtStatic\**
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* Install Python 3.3.2 from https://www.python.org/download/releases/3.3.2 > [**Windows x86 MSI Installer (3.3.2)**](https://www.python.org/ftp/python/3.3.2/python-3.3.2.msi)
|
||||||
|
* Open **VS2013 x86 Native Tools Command Prompt.bat** (should be in **\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts\** folder)
|
||||||
|
|
||||||
|
There go to Qt directory
|
||||||
|
|
||||||
|
D:
|
||||||
|
cd TBuild\Libraries\QtStatic
|
||||||
|
|
||||||
|
and after that run configure
|
||||||
|
|
||||||
|
configure -debug-and-release -opensource -static -opengl desktop -mp -nomake examples -platform win32-msvc2013
|
||||||
|
y
|
||||||
|
|
||||||
|
to configure Qt build. After configuration is complete run
|
||||||
|
|
||||||
|
nmake
|
||||||
|
nmake install
|
||||||
|
|
||||||
|
building (**nmake** command) will take really long time.
|
||||||
|
|
||||||
|
####Qt Visual Studio Addin 1.2.3
|
||||||
|
|
||||||
|
http://download.qt-project.org/official_releases/vsaddin/qt-vs-addin-1.2.3-opensource.exe
|
||||||
|
|
||||||
|
Close all VS2013 instances and install to default location
|
||||||
|
|
||||||
|
###Building Telegram Desktop
|
||||||
|
|
||||||
|
* Launch VS2013 for configuring Qt Addin
|
||||||
|
* QT5 > Qt Options > Add
|
||||||
|
* Version name: **QtStatic.5.3.0**
|
||||||
|
* Path: **D:\TBuild\Libraries\QtStatic\qtbase**
|
||||||
|
* Default Qt/Win version: **QtStatic.5.3.0** – **OK**
|
||||||
|
* File > Open > Project/Solution > **D:\TBuild\tdesktop\Telegram.sln**
|
||||||
|
* Build \ Build Solution (Debug and Release configurations)
|
126
README.md
126
README.md
|
@ -6,13 +6,15 @@ Source code is published under GPL v3, license is available [here](https://githu
|
||||||
|
|
||||||
###Supported systems
|
###Supported systems
|
||||||
|
|
||||||
Only Windows systems are supported at this moment, OS X and Linux builds are on their way.
|
Only Windows and OS X systems are supported at this moment, Linux builds are on their way.
|
||||||
|
|
||||||
* Windows XP
|
* Windows XP
|
||||||
* Windows Vista
|
* Windows Vista
|
||||||
* Windows 7
|
* Windows 7
|
||||||
* Windows 8 (**not** RT)
|
* Windows 8 (**not** RT)
|
||||||
* Windows 8.1 (**not** RT)
|
* Windows 8.1 (**not** RT)
|
||||||
|
* OS X 10.9
|
||||||
|
* OS X 10.7-10.8 (not tested)
|
||||||
|
|
||||||
###Third-party
|
###Third-party
|
||||||
|
|
||||||
|
@ -21,121 +23,12 @@ Only Windows systems are supported at this moment, OS X and Linux builds are on
|
||||||
* zlib 1.2.8 ([zlib License](http://www.zlib.net/zlib_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))
|
* 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))
|
* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html))
|
||||||
|
* liblzma ([public domain](http://tukaani.org/xz/))
|
||||||
* Open Sans font ([Apache License](http://www.apache.org/licenses/LICENSE-2.0.html))
|
* Open Sans font ([Apache License](http://www.apache.org/licenses/LICENSE-2.0.html))
|
||||||
|
|
||||||
##Build instructions for Visual Studio 2013
|
###[Build instructions for Visual Studio 2013](https://github.com/telegramdesktop/tdesktop/blob/master/MSVC.md)
|
||||||
|
|
||||||
###Prepare folder
|
###[Build instructions for XCode 5.1.1](https://github.com/telegramdesktop/tdesktop/blob/master/MSVC.md)
|
||||||
|
|
||||||
Choose a folder for the future build, for example **D:\TBuild\**. There you will have two folders, **Libraries** for third-party libs and **tdesktop** (or **tdesktop-master**) for the app.
|
|
||||||
|
|
||||||
###Clone source code
|
|
||||||
|
|
||||||
By git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild** and run
|
|
||||||
|
|
||||||
git clone https://github.com/telegramdesktop/tdesktop.git
|
|
||||||
|
|
||||||
or download in ZIP and extract to **D:\TBuild\**, rename **tdesktop-master** to **tdesktop** to have **D:\TBuild\tdesktop\Telegram.sln** solution
|
|
||||||
|
|
||||||
###Prepare libraries
|
|
||||||
|
|
||||||
####OpenSSL 1.0.1g
|
|
||||||
|
|
||||||
https://www.openssl.org/related/binaries.html > **OpenSSL for Windows** > Download [**Win32 OpenSSL v1.0.1g** (16 Mb)](http://slproweb.com/download/Win32OpenSSL-1_0_1g.exe)
|
|
||||||
|
|
||||||
Install to **D:\TBuild\Libraries\OpenSSL-Win32**, while installing **Copy OpenSSL DLLs to** choose **The OpenSSL binaries (/bin) directory**
|
|
||||||
|
|
||||||
####LZMA SDK 9.20
|
|
||||||
|
|
||||||
http://www.7-zip.org/sdk.html > Download [**LZMA SDK (C, C++, C#, Java)** 9.20](http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2)
|
|
||||||
|
|
||||||
Extract to **D:\TBuild\Libraries**
|
|
||||||
|
|
||||||
#####Building library
|
|
||||||
|
|
||||||
* Open in VS2013 **D:\TBuild\Libraries\lzma\C\Util\LzmaLib\LzmaLib.dsw** > One-way upgrade – **OK**
|
|
||||||
* For **Debug** and **Release** configurations
|
|
||||||
* LzmaLib Properties > General > Configuration Type = **Static library (.lib)** – **OK**
|
|
||||||
* LzmaLib Properties > Librarian > General > Target Machine = **MachineX86 (/MACHINE:X86)** – **OK**
|
|
||||||
* Build Debug configuration
|
|
||||||
* Build Release configuration
|
|
||||||
|
|
||||||
####zlib 1.2.8
|
|
||||||
|
|
||||||
http://www.zlib.net/ > Download [**zlib source code, version 1.2.8, zipfile format**](http://zlib.net/zlib128.zip)
|
|
||||||
|
|
||||||
Extract to **D:\TBuild\Libraries\**
|
|
||||||
|
|
||||||
#####Building library
|
|
||||||
|
|
||||||
* Open in VS2013 **D:\TBuild\Libraries\zlib-1.2.8\contrib\vstudio\vc11\zlibvc.sln** > One-way upgrade – **OK**
|
|
||||||
* We are interested only in **zlibstat** project, but it depends on some custom pre-build step, so build all
|
|
||||||
* For **Debug** configuration
|
|
||||||
* zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded Debug (/MTd)** – **OK**
|
|
||||||
* For **Release** configuration
|
|
||||||
* zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded (/MT)** – **OK**
|
|
||||||
* Build Solution for Debug configuration – only **zlibstat** project builds successfully
|
|
||||||
* Build Solution for Release configuration – only **zlibstat** project builds successfully
|
|
||||||
|
|
||||||
####libexif 0.6.20
|
|
||||||
|
|
||||||
Get sources from https://github.com/telegramdesktop/libexif-0.6.20, by git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run
|
|
||||||
|
|
||||||
git clone https://github.com/telegramdesktop/libexif-0.6.20.git
|
|
||||||
|
|
||||||
or download in ZIP and extract to **D:\TBuild\Libraries\**, rename **libexif-0.6.20-master** to **libexif-0.6.20** to have **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln** solution
|
|
||||||
|
|
||||||
#####Building library
|
|
||||||
|
|
||||||
* Open in VS2013 **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln**
|
|
||||||
* Build Debug configuration
|
|
||||||
* Build Release configuration
|
|
||||||
|
|
||||||
####Qt 5.3.0, slightly patched
|
|
||||||
|
|
||||||
http://download.qt-project.org/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.zip
|
|
||||||
|
|
||||||
Extract to **D:\TBuild\Libraries\**, rename **qt-everywhere-opensource-src-5.3.0** to **QtStatic** to have **D:\TBuild\Libraries\QtStatic\qtbase\** folder
|
|
||||||
|
|
||||||
Apply patch – copy (with overwrite!) everything from **D:\TBuild\tdesktop\\\_qt\_5\_3\_0\_patch\** to **D:\TBuild\Libraries\QtStatic\**
|
|
||||||
|
|
||||||
#####Building library
|
|
||||||
|
|
||||||
* Install Python 3.3.2 from https://www.python.org/download/releases/3.3.2 > [**Windows x86 MSI Installer (3.3.2)**](https://www.python.org/ftp/python/3.3.2/python-3.3.2.msi)
|
|
||||||
* Open **VS2013 x86 Native Tools Command Prompt.bat** (should be in **\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts\** folder)
|
|
||||||
|
|
||||||
There go to Qt directory
|
|
||||||
|
|
||||||
D:
|
|
||||||
cd TBuild\Libraries\QtStatic
|
|
||||||
|
|
||||||
and after that run configure
|
|
||||||
|
|
||||||
configure -debug-and-release -opensource -static -opengl desktop -mp -nomake examples -platform win32-msvc2013
|
|
||||||
y
|
|
||||||
|
|
||||||
to configure Qt build. After configuration is complete run
|
|
||||||
|
|
||||||
nmake
|
|
||||||
nmake install
|
|
||||||
|
|
||||||
building (**nmake** command) will take really long time.
|
|
||||||
|
|
||||||
####Qt Visual Studio Addin 1.2.3
|
|
||||||
|
|
||||||
http://download.qt-project.org/official_releases/vsaddin/qt-vs-addin-1.2.3-opensource.exe
|
|
||||||
|
|
||||||
Close all VS2013 instances and install to default location
|
|
||||||
|
|
||||||
###Building Telegram Desktop
|
|
||||||
|
|
||||||
* Launch VS2013 for configuring Qt Addin
|
|
||||||
* QT5 > Qt Options > Add
|
|
||||||
* Version name: **QtStatic.5.3.0**
|
|
||||||
* Path: **D:\TBuild\Libraries\QtStatic\qtbase**
|
|
||||||
* Default Qt/Win version: **QtStatic.5.3.0** – **OK**
|
|
||||||
* File > Open > Project/Solution > **D:\TBuild\tdesktop\Telegram.sln**
|
|
||||||
* Build \ Build Solution (Debug and Release configurations)
|
|
||||||
|
|
||||||
##Projects in Telegram solution
|
##Projects in Telegram solution
|
||||||
|
|
||||||
|
@ -153,12 +46,17 @@ compiles given files to single update file, compresses it with lzma and signs wi
|
||||||
|
|
||||||
####Prepare
|
####Prepare
|
||||||
|
|
||||||
prepares a release for deployment, puts all files to deploy/{version} folder
|
prepares a release for deployment, puts all files to deploy/{version} folder, for Win:
|
||||||
* current tsetup{version}exe installer
|
* current tsetup{version}exe installer
|
||||||
* current Telegram.exe
|
* current Telegram.exe
|
||||||
* current Telegram.pdb (debug info for crash minidumps view)
|
* current Telegram.pdb (debug info for crash minidumps view)
|
||||||
* current tupdate{updversion} binary lzma update archive
|
* current tupdate{updversion} binary lzma update archive
|
||||||
|
|
||||||
|
for Mac:
|
||||||
|
* current tsetup{version}dmg
|
||||||
|
* current Telegram.app
|
||||||
|
* current tmacupd{updversion} binary lzma update archive
|
||||||
|
|
||||||
####MetaEmoji
|
####MetaEmoji
|
||||||
|
|
||||||
from two folders
|
from two folders
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.5.4</string>
|
<string>0.5.5</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
|
|
|
@ -1493,7 +1493,7 @@
|
||||||
COPY_PHASE_STRIP = YES;
|
COPY_PHASE_STRIP = YES;
|
||||||
CURRENT_PROJECT_VERSION = 0.5.4;
|
CURRENT_PROJECT_VERSION = 0.5.4;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 0.5;
|
DYLIB_COMPATIBILITY_VERSION = 0.5;
|
||||||
DYLIB_CURRENT_VERSION = 0.5.4;
|
DYLIB_CURRENT_VERSION = 0.5.5;
|
||||||
FRAMEWORK_SEARCH_PATHS = "";
|
FRAMEWORK_SEARCH_PATHS = "";
|
||||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||||
GCC_OPTIMIZATION_LEVEL = fast;
|
GCC_OPTIMIZATION_LEVEL = fast;
|
||||||
|
@ -1557,6 +1557,7 @@
|
||||||
"-Wno-switch",
|
"-Wno-switch",
|
||||||
"-Wno-comment",
|
"-Wno-comment",
|
||||||
"-I./../../Libraries/openssl-xcode/include",
|
"-I./../../Libraries/openssl-xcode/include",
|
||||||
|
"-DCUSTOM_API_ID",
|
||||||
);
|
);
|
||||||
OTHER_CPLUSPLUSFLAGS = (
|
OTHER_CPLUSPLUSFLAGS = (
|
||||||
"-pipe",
|
"-pipe",
|
||||||
|
@ -1578,6 +1579,7 @@
|
||||||
"-Wno-switch",
|
"-Wno-switch",
|
||||||
"-Wno-comment",
|
"-Wno-comment",
|
||||||
"-I./../../Libraries/openssl-xcode/include",
|
"-I./../../Libraries/openssl-xcode/include",
|
||||||
|
"-DCUSTOM_API_ID",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-headerpad_max_install_names",
|
"-headerpad_max_install_names",
|
||||||
|
@ -1616,7 +1618,7 @@
|
||||||
CURRENT_PROJECT_VERSION = 0.5.4;
|
CURRENT_PROJECT_VERSION = 0.5.4;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 0.5;
|
DYLIB_COMPATIBILITY_VERSION = 0.5;
|
||||||
DYLIB_CURRENT_VERSION = 0.5.4;
|
DYLIB_CURRENT_VERSION = 0.5.5;
|
||||||
FRAMEWORK_SEARCH_PATHS = "";
|
FRAMEWORK_SEARCH_PATHS = "";
|
||||||
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
##Build instructions for Xcode 5.1.1
|
||||||
|
|
||||||
|
###Prepare folder
|
||||||
|
|
||||||
|
Choose a folder for the future build, for example **/Users/user/TBuild** There you will have two folders, **Libraries** for third-party libs and **tdesktop** (or **tdesktop-master**) for the app.
|
||||||
|
|
||||||
|
###Clone source code
|
||||||
|
|
||||||
|
By git – in Terminal go to **/Users/user/TBuild** and run
|
||||||
|
|
||||||
|
git clone https://github.com/telegramdesktop/tdesktop.git
|
||||||
|
|
||||||
|
or download in ZIP and extract to **/Users/user/TBuild** rename **tdesktop-master** to **tdesktop** to have **/Users/user/TBuild/tdesktop/Telegram/Telegram.xcodeproj** project
|
||||||
|
|
||||||
|
###Prepare libraries
|
||||||
|
|
||||||
|
####OpenSSL 1.0.1g
|
||||||
|
|
||||||
|
Get sources from https://github.com/telegramdesktop/openssl-xcode, by git – in Terminal go to **/Users/user/TBuild/Libraries** and run
|
||||||
|
|
||||||
|
git clone https://github.com/telegramdesktop/openssl-xcode.git
|
||||||
|
|
||||||
|
or download in ZIP and extract to **/Users/user/TBuild/Libraries**, rename **openssl-xcode-master** to **openssl-xcode** to have **/Users/user/TBuild/Libraries/openssl-xcode/openssl.xcodeproj** project
|
||||||
|
|
||||||
|
http://www.openssl.org/source/ > Download [**openssl-1.0.1h.tar.gz**](http://www.openssl.org/source/openssl-1.0.1h.tar.gz) (4.3 Mb)
|
||||||
|
|
||||||
|
Extract openssl-1.0.1h.tar.gz and copy everything from **openssl-1.0.1h** to **/Users/user/TBuild/Libraries/openssl-xcode** to have “/Users/user/TBuild/Libraries/openssl-xcode/include”
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* Open **/Users/user/TBuild/Libraries/openssl-xcode/openssl.xcodeproj* with Xcode
|
||||||
|
* Product > Build
|
||||||
|
|
||||||
|
####liblzma
|
||||||
|
|
||||||
|
http://tukaani.org/xz/ > Download [**xz-5.0.5.tar.gz](http://tukaani.org/xz/xz-5.0.5.tar.gz)
|
||||||
|
|
||||||
|
Extract to **/Users/user/TBuild/Libraries**
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* in Terminal go to **/Users/user/TBuild/Libraries/xz-5.0.5**
|
||||||
|
* there run
|
||||||
|
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
####zlib 1.2.8
|
||||||
|
|
||||||
|
Using se system lib
|
||||||
|
|
||||||
|
####libexif 0.6.20
|
||||||
|
|
||||||
|
Get sources from https://github.com/telegramdesktop/libexif-0.6.20, by git – in Terminal go to **/Users/user/TBuild/Libraries** and run
|
||||||
|
|
||||||
|
git clone https://github.com/telegramdesktop/libexif-0.6.20.git
|
||||||
|
|
||||||
|
or download in ZIP and extract to **/Users/user/TBuild/Libraries**, rename **libexif-0.6.20-master** to **libexif-0.6.20** to have **/Users/user/TBuild/Libraries/libexif-0.6.20/configure** script
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* in Terminal go to **/Users/user/TBuild/Libraries/libexif-0.6.20**
|
||||||
|
* there run
|
||||||
|
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
####Qt 5.3.0, slightly patched
|
||||||
|
|
||||||
|
http://download.qt-project.org/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.tar.gz
|
||||||
|
|
||||||
|
Extract to **/Users/user/TBuild/Libraries**, rename **qt-everywhere-opensource-src-5.3.0** to **QtStatic** to have **/Users/user/TBuild/Libraries/QtStatic/qtbase** folder
|
||||||
|
|
||||||
|
Apply patch – copy (with overwrite!) everything from **/Users/user/TBuild/tdesktop/\_qt\_5\_3\_0\_patch/** to **/Users/user/TBuild/Libraries/QtStatic/**
|
||||||
|
|
||||||
|
#####Building library
|
||||||
|
|
||||||
|
* in Terminal go to **/Users/user/TBuild/Libraries/QtStatic**
|
||||||
|
* there run
|
||||||
|
|
||||||
|
./configure -debug-and-release -opensource -static -opengl desktop -nomake examples -platform macx-clang
|
||||||
|
y
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
building (**make** command) will take really long time.
|
||||||
|
|
||||||
|
###Building Telegram Desktop
|
||||||
|
|
||||||
|
* Launch Xcode, all projects will be taken from **/Users/user/TBuild/tdesktop/Telegram**
|
||||||
|
* Open MetaStyle.xcodeproj and build for Debug (Release optionally)
|
||||||
|
* Open MetaEmoji.xcodeproj and build for Debug (Release optionally)
|
||||||
|
* Open MetaLang.xcodeproj and build for Debug (Release optionally)
|
||||||
|
* Open Telegram.xcodeproj and build for Debug
|
||||||
|
* Release Telegram build will require removing of **CUSTOM_API_ID** definition in Telegram target settings (Apple LLVM 5.1 - Custom Compiler Flags > Other C / C++ Flags > Release)
|
|
@ -1,141 +0,0 @@
|
||||||
Build with Visual Studio 2013, Windows 8.1
|
|
||||||
|
|
||||||
Prepare folder:
|
|
||||||
|
|
||||||
Choose folder for future build, for example "D:\TBuild\".
|
|
||||||
There you will have two folders, "Libraries" for third-party libs and "tdesktop" for the app.
|
|
||||||
|
|
||||||
Clone sources:
|
|
||||||
|
|
||||||
- By git: in Git Bash go to "/d/tbuild" and run "git clone https://github.com/telegramdesktop/tdesktop.git"
|
|
||||||
- Or download in ZIP and extract to "D:\TBuild\", rename "tdesktop-master" to "tdesktop" to have "D:\TBuild\tdesktop\Telegram.sln" solution
|
|
||||||
|
|
||||||
Prepare libraries:
|
|
||||||
|
|
||||||
OpenSSL (1.0.1g)
|
|
||||||
|
|
||||||
https://www.openssl.org/related/binaries.html > "OpenSSL for Windows" > "Win32 OpenSSL v1.0.1g" (16 Mb)
|
|
||||||
- Install to "D:\TBuild\Libraries\OpenSSL-Win32", while installing "Copy OpenSSL DLLs to" choose "The OpenSSL binaries (/bin) directory"
|
|
||||||
|
|
||||||
LZMA (9.20)
|
|
||||||
|
|
||||||
http://www.7-zip.org/sdk.html > Download 9.20 "LZMA SDK (C, C++, C#, Java)"
|
|
||||||
- Extract to "D:\TBuild\Libraries\lzma\"
|
|
||||||
|
|
||||||
Building Lib:
|
|
||||||
|
|
||||||
- Open "D:\TBuild\Libraries\lzma\C\Util\LzmaLib\LzmaLib.dsw" with Visual Studio 2013 > One-way upgrade OK
|
|
||||||
- For Debug and Release configurations:
|
|
||||||
- LzmaLib Properties > General > Configuration Type = "Static library (.lib)" > OK
|
|
||||||
- LzmaLib Properties > Librarian > General > Target Machine = "MachineX86 (/MACHINE:X86)" > OK
|
|
||||||
- Build Debug
|
|
||||||
- Build Release
|
|
||||||
|
|
||||||
zlib (1.2.8)
|
|
||||||
|
|
||||||
http://www.zlib.net/ > "zlib source code, version 1.2.8, zipfile format" > http://zlib.net/zlib128.zip
|
|
||||||
- Extract to "D:\TBuild\Libraries\"
|
|
||||||
|
|
||||||
Building Lib:
|
|
||||||
- Open "D:\TBuild\Libraries\zlib-1.2.8\contrib\vstudio\vc11\zlibvc.sln" > Upgrade .. > OK
|
|
||||||
- We are interested in only "zlibstat" project, but it depends on some custom pre-build step
|
|
||||||
- For Debug configuration:
|
|
||||||
- zlibstat Properties > C/C++ > Code Generation > Runtime Library = "Multi-threaded Debug (/MTd)" > OK
|
|
||||||
- For Release configuration:
|
|
||||||
- zlibstat Properties > C/C++ > Code Generation > Runtime Library = "Multi-threaded (/MT)" > OK
|
|
||||||
- Build Solution for Debug - only "zlibstat" project build successfully, and we need only it
|
|
||||||
- Build Solution for Release - only "zlibstat" project build successfully, and we need only it
|
|
||||||
|
|
||||||
libexif (0.6.20) - prepared
|
|
||||||
|
|
||||||
https://github.com/telegramdesktop/libexif-0.6.20
|
|
||||||
- By git: in Git Bash go to "/d/tbuild/libraries" and run "git clone https://github.com/telegramdesktop/libexif-0.6.20.git"
|
|
||||||
- Or download in ZIP and extract to "D:\TBuild\Libraries\", rename "libexif-0.6.20-master" to "libexif-0.6.20" to have "D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln" solution
|
|
||||||
|
|
||||||
Building Lib:
|
|
||||||
- Open "D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln"
|
|
||||||
- Build Debug
|
|
||||||
- Build Release
|
|
||||||
|
|
||||||
Qt (5.3.0)
|
|
||||||
|
|
||||||
http://download.qt-project.org/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.zip
|
|
||||||
- Extract to "D:\TBuild\Libraries\Tmp\"
|
|
||||||
- Copy everything from "D:\TBuild\Libraries\Tmp\qt-everywhere-opensource-src-5.3.0" to "D:\TBuild\Libraries\QtStatic"
|
|
||||||
- Copy (with overwrite) everything from "D:\TBuild\tdesktop\_qt_5_3_0_patch" to "D:\TBuild\Libraries\QtStatic"
|
|
||||||
|
|
||||||
Building Lib:
|
|
||||||
|
|
||||||
- Install Python (3.3.2) from https://www.python.org/download/releases/3.3.2 > "Windows x86 MSI Installer (3.3.2)" (https://www.python.org/ftp/python/3.3.2/python-3.3.2.msi)
|
|
||||||
- Open "VS2013 x86 Native Tools Command Prompt.bat" (should be in "\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts")
|
|
||||||
|
|
||||||
Go to Qt directory ("D:" > Enter > "cd TBuild\Libraries\QtStatic" > Enter) and run "configure -debug-and-release -opensource -static -opengl desktop -mp -nomake examples -platform win32-msvc2013", then "y" (accept), after configuration is complete run "nmake" and then "nmake install", nmake will take really long time.
|
|
||||||
|
|
||||||
Qt Visual Studio Addin 1.2.3
|
|
||||||
|
|
||||||
http://download.qt-project.org/official_releases/vsaddin/qt-vs-addin-1.2.3-opensource.exe
|
|
||||||
- Install to default location
|
|
||||||
|
|
||||||
Building Telegram Desktop:
|
|
||||||
|
|
||||||
- Launch Microsoft Visual Studio 2013
|
|
||||||
- QT5 > Qt Options > Add:
|
|
||||||
Version name: QtStatic.5.3.0
|
|
||||||
Path: D:\TBuild\Libraries\QtStatic\qtbase
|
|
||||||
- Default Qt/Win version: QtStatic.5.3.0 > OK
|
|
||||||
- File > Open > Project/Solution > D:\TBuild\tdesktop\Telegram.sln
|
|
||||||
- Build > Build Solution
|
|
||||||
|
|
||||||
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 was not included to Telegram solution, because private key is inaccessible
|
|
||||||
|
|
||||||
Prepare:
|
|
||||||
prepares a release for deployment: puts all files to deploy/{version} folder
|
|
||||||
current tsetup{version}exe installer
|
|
||||||
current Telegram.exe
|
|
||||||
current Telegram.pdb (debug info for crash minidumps view)
|
|
||||||
current tupdate{updversion} binary lzma update archive
|
|
||||||
|
|
||||||
MetaEmoji:
|
|
||||||
from two folders
|
|
||||||
SourceFiles/art/Emoji
|
|
||||||
SourceFiles/art/Emoji_200x
|
|
||||||
and some inner config 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/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
|
|
Loading…
Reference in New Issue