151 lines
No EOL
5 KiB
YAML
151 lines
No EOL
5 KiB
YAML
|
|
trigger:
|
|
- master
|
|
|
|
pool:
|
|
vmImage: 'windows-2019'
|
|
|
|
steps:
|
|
- script: |
|
|
git clone --recursive https://github.com/kotatogram/kotatogram-desktop.git tdesktop
|
|
displayName: 'Clone repo'
|
|
|
|
- script: |
|
|
choco install -y nasm yasm jom ninja activeperl cmake msys2
|
|
mkdir Libraries
|
|
displayName: Install tools
|
|
- script: |
|
|
py -2 -m pip install virtualenv
|
|
py -2 -m virtualenv venv-2
|
|
displayName: Replace Python 3 with Python 2
|
|
- script: |
|
|
cd Libraries
|
|
git clone --branch 0.9.1 https://github.com/ericniebler/range-v3 range-v3
|
|
displayName: Range-v3
|
|
- script: |
|
|
cd Libraries
|
|
%VS%
|
|
git clone https://github.com/telegramdesktop/lzma.git
|
|
cd lzma
|
|
cd C\Util\LzmaLib
|
|
msbuild LzmaLib.sln /property:Configuration=Debug
|
|
msbuild LzmaLib.sln /property:Configuration=Release
|
|
displayName: LZMA
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
git clone https://github.com/openssl/openssl.git
|
|
cd openssl
|
|
git checkout OpenSSL_1_0_1-stable
|
|
call perl Configure no-shared --prefix="C:\Program Files (x86)\OpenSSL" ^
|
|
--openssldir="C:\Program Files (x86)\Common Files\SSL" VC-WIN32
|
|
call ms\do_ms < nul
|
|
call nmake -f ms\nt.mak < nul
|
|
call perl Configure no-shared --prefix="C:\Program Files (x86)\OpenSSL" ^
|
|
--openssldir="C:\Program Files (x86)\Common Files\SSL" debug-VC-WIN32
|
|
call ms\do_ms < nul
|
|
call nmake -f ms\nt.mak < nul
|
|
displayName: OpenSSL
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
git clone https://github.com/telegramdesktop/zlib.git
|
|
cd zlib
|
|
git checkout tdesktop
|
|
cd contrib\vstudio\vc14
|
|
msbuild zlibstat.vcxproj /property:Configuration=Debug
|
|
msbuild zlibstat.vcxproj /property:Configuration=ReleaseWithoutAsm
|
|
displayName: Zlib
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
git clone https://github.com/telegramdesktop/openal-soft.git
|
|
cd openal-soft
|
|
git checkout fix_capture
|
|
cd build
|
|
cmake -G "Visual Studio 16 2019" -A Win32 -D LIBTYPE:STRING=STATIC -D FORCE_STATIC_VCRT:STRING=ON ..
|
|
msbuild OpenAL.vcxproj /property:Configuration=Debug
|
|
msbuild OpenAL.vcxproj /property:Configuration=Release
|
|
displayName: OpenAL Soft
|
|
- script: |
|
|
%VS%
|
|
%SWITCH_PY%
|
|
cd Libraries
|
|
git clone https://github.com/telegramdesktop/gyp.git
|
|
cd gyp
|
|
git checkout tdesktop
|
|
displayName: GYP
|
|
- script: |
|
|
%VS%
|
|
%SWITCH_PY%
|
|
cd Libraries
|
|
git clone https://github.com/google/breakpad
|
|
cd breakpad
|
|
git checkout a1dbcdcb43
|
|
dir ..\..\tdesktop\Telegram\Patches\
|
|
git apply ..\..\tdesktop\Telegram\Patches\breakpad.diff
|
|
cd src
|
|
git clone https://github.com/google/googletest testing
|
|
cd client\windows
|
|
call gyp --no-circular-check breakpad_client.gyp --format=ninja
|
|
cd ..\..
|
|
ninja -C out/Debug common crash_generation_client exception_handler
|
|
ninja -C out/Release common crash_generation_client exception_handler
|
|
cd tools\windows\dump_syms
|
|
call gyp dump_syms.gyp
|
|
msbuild dump_syms.vcxproj /property:Configuration=Release
|
|
displayName: Breakpad
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
git clone https://github.com/telegramdesktop/opus.git
|
|
cd opus
|
|
git checkout tdesktop
|
|
cd win32\VS2015
|
|
msbuild opus.sln /property:Configuration=Debug /property:Platform="Win32"
|
|
msbuild opus.sln /property:Configuration=Release /property:Platform="Win32"
|
|
displayName: Opus
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg
|
|
cd ffmpeg
|
|
git checkout release/3.4
|
|
set CHERE_INVOKING=enabled_from_arguments
|
|
set MSYS2_PATH_TYPE=inherit
|
|
call c:\tools\msys64\usr\bin\bash --login ../../tdesktop/Telegram/Patches/build_ffmpeg_win.sh
|
|
displayName: FFmpeg
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
git clone git://code.qt.io/qt/qt5.git qt5_6_2
|
|
cd qt5_6_2
|
|
perl init-repository --module-subset=qtbase,qtimageformats
|
|
git checkout v5.6.2
|
|
cd qtimageformats
|
|
git checkout v5.6.2
|
|
cd ..\qtbase
|
|
git checkout v5.6.2
|
|
git apply ../../../tdesktop/Telegram/Patches/qtbase_5_6_2.diff
|
|
cd ..
|
|
configure -debug-and-release -force-debug-info -opensource -confirm-license ^
|
|
-static -I "%cd%\..\openssl\inc32" -no-opengl -openssl-linked ^
|
|
OPENSSL_LIBS_DEBUG="%cd%\..\openssl\out32.dbg\ssleay32.lib %cd%\..\openssl\out32.dbg\libeay32.lib" ^
|
|
OPENSSL_LIBS_RELEASE="%cd%\..\openssl\out32\ssleay32.lib %cd%\..\openssl\out32\libeay32.lib" ^
|
|
-mp -nomake examples -nomake tests -platform win32-msvc2015
|
|
displayName: Configure Qt 5.6.2
|
|
- script: |
|
|
%VS% && cd Libraries
|
|
cd qt5_6_2
|
|
jom -j4
|
|
jom -j4 install
|
|
displayName: Build Qt 5.6.2
|
|
- script: |
|
|
%VS%
|
|
%SWITCH_PY%
|
|
cd tdesktop\Telegram
|
|
call gyp\refresh.bat --api-id %API_ID% --api-hash %API_HASH%
|
|
msbuild Telegram.sln /nologo /p:Configuration=Release,Platform=Win32
|
|
env:
|
|
GYP_MSVS_OVERRIDE_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\
|
|
GYP_MSVS_VERSION: 2019
|
|
TDESKTOP_BUILD_DEFINES: TDESKTOP_DISABLE_CRASH_REPORTS
|
|
displayName: Build Kotatogram
|
|
- publish: tdesktop\Telegram\out\Release\Telegram
|
|
artifact: Kotatogram
|
|
- publish: tdesktop\Telegram\out\Release\Updater
|
|
artifact: Updater |