kotatogram-desktop/azure-pipelines.yml

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