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