From ef535ca02616d73992b3920d1d44df3b6c0d32cd Mon Sep 17 00:00:00 2001 From: Christoph Date: Sat, 18 Feb 2017 20:23:50 +0100 Subject: [PATCH] Implement AppVeyor (#3025) Also implement build defines for Windows Set TELEGRAM_BUILD_DEFINES before calling gyp/refresh.bat Fix #3000 Signed-off-by: Christoph --- .appveyor/install.bat | 77 +++++++++++++++++++++++++++++++++++++++ .gitattributes | 1 + .travis/build.sh | 2 +- README.md | 1 + Telegram/gyp/Telegram.gyp | 2 +- Telegram/gyp/refresh.bat | 10 ++++- appveyor.yml | 29 +++++++++++++++ doc/building-msvc.md | 5 ++- 8 files changed, 122 insertions(+), 5 deletions(-) create mode 100644 .appveyor/install.bat create mode 100644 appveyor.yml diff --git a/.appveyor/install.bat b/.appveyor/install.bat new file mode 100644 index 0000000000..b5babe60de --- /dev/null +++ b/.appveyor/install.bat @@ -0,0 +1,77 @@ +@echo off + +SET BUILD_DIR=C:\TBuild +set LIB_DIR=%BUILD_DIR%\Libraries +set SRC_DIR=%BUILD_DIR%\tdesktop +SET QT_VERSION=5_6_2 + +cd %BUILD_DIR% + +call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 + +call:configureBuild +call:getDependencies +call:setupGYP +cd %SRC_DIR% + +echo Finished! + +GOTO:EOF + +:: FUNCTIONS +:logInfo + echo [INFO] %~1 +GOTO:EOF + +:getDependencies + call:logInfo "Clone dependencies repository" + git clone -q --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR% + cd %LIB_DIR% + + call prepare.bat +GOTO:EOF + +:setupGYP + call:logInfo "Setup GYP/Ninja and generate VS solution" + cd %LIB_DIR% + git clone https://chromium.googlesource.com/external/gyp + SET PATH=%PATH%;C:\TBuild\Libraries\gyp;C:\TBuild\Libraries\ninja; + cd %SRC_DIR%\Telegram + call gyp\refresh.bat +GOTO:EOF + +:configureBuild + call:logInfo "Configuring build" + call:logInfo "Build version: %BUILD_VERSION%" + set TELEGRAM_BUILD_DEFINES= + + echo %BUILD_VERSION% | findstr /C:"disable_autoupdate">nul && ( + set TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES%,TDESKTOP_DISABLE_AUTOUPDATE + ) + + echo %BUILD_VERSION% | findstr /C:"disable_register_custom_scheme">nul && ( + set TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES%,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME + ) + + echo %BUILD_VERSION% | findstr /C:"disable_crash_reports">nul && ( + set TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES%,TDESKTOP_DISABLE_CRASH_REPORTS + ) + + echo %BUILD_VERSION% | findstr /C:"disable_network_proxy">nul && ( + set TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES%,TDESKTOP_DISABLE_NETWORK_PROXY + ) + + echo %BUILD_VERSION% | findstr /C:"disable_desktop_file_generation">nul && ( + set TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES%,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION + ) + + echo %BUILD_VERSION% | findstr /C:"disable_unity_integration">nul && ( + set TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES%,TDESKTOP_DISABLE_UNITY_INTEGRATION + ) + + if not "%TELEGRAM_BUILD_DEFINES%" == "" ( + set "TELEGRAM_BUILD_DEFINES=%TELEGRAM_BUILD_DEFINES:~1%" + ) + + call:logInfo "Build Defines: %TELEGRAM_BUILD_DEFINES%" +GOTO:EOF diff --git a/.gitattributes b/.gitattributes index 9ce0f35faf..d68bdaecfd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,4 @@ # Ensure diffs have LF endings *.diff text eol=lf +*.bat text eol=crlf diff --git a/.travis/build.sh b/.travis/build.sh index 4e0806042b..baa43cb271 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -593,7 +593,7 @@ buildTelegram() { cd "$UPSTREAM/Telegram/gyp" "$GYP_PATH/gyp" \ - -Dtravis_defines=${GYP_DEFINES:1} \ + -Dbuild_defines=${GYP_DEFINES:1} \ -Dlinux_path_xkbcommon=$XKB_PATH \ -Dlinux_path_va=$VA_PATH \ -Dlinux_path_vdpau=$VDPAU_PATH \ diff --git a/README.md b/README.md index cc31cbb00e..70c8813b6b 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ This is the complete source code and the build instructions for the alpha versio [![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases) [![Build Status](https://travis-ci.org/telegramdesktop/tdesktop.svg?branch=master)](https://travis-ci.org/telegramdesktop/tdesktop) +[![Build status](https://ci.appveyor.com/api/projects/status/uiw2y768iy4i5bu8/branch/master?svg=true)](https://ci.appveyor.com/project/telegramdesktop/tdesktop) The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license]. diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp index 45ab8cd27f..eb4e9c112a 100644 --- a/Telegram/gyp/Telegram.gyp +++ b/Telegram/gyp/Telegram.gyp @@ -80,7 +80,7 @@ 'defines': [ 'AL_LIBTYPE_STATIC', - '