1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-29 21:56:54 +02:00

AppVeyor: change config to use Vcpkg-generated deps

There also extended build matrix for toolchain_test branch.
This commit is contained in:
Arseniy Shestakov 2017-08-03 03:13:19 +03:00
parent 440226f7af
commit caf0edf618
5 changed files with 120 additions and 86 deletions

@ -1,72 +1,82 @@
# Common configuration for all branches
version: 1.0.{build}
max_jobs: 2
clone_depth: 10
clone_folder: c:\projects\vcmi\source
init:
- cmd: set QTDIR=C:\Qt\5.7\msvc2015
environment:
BUILD_PLATFORM: x86
BUILD_CONFIGURATION: Release
install:
- cmd: >-
cd c:\projects\vcmi\
curl -fsS -o vcmi_depends_%BUILD_PLATFORM%.zip https://dependencies.vcmi.download/msvc/vcmi_depends_%BUILD_PLATFORM%.zip
7z x vcmi_depends_%BUILD_PLATFORM%.zip -odepends
cd source
git submodule update --init --recursive
cd ..
mkdir build_%BUILD_PLATFORM%
cd build_%BUILD_PLATFORM%
cmake -DCMAKE_TOOLCHAIN_FILE=../source/CI/msvc/appveyor_toolchain.txt ../source
- bash c:\projects\vcmi\source\CI\msvc\install.sh
build_script:
- cmd: >-
cd c:\projects\vcmi\build_%BUILD_PLATFORM%
msbuild vcmi.sln /p:configuration=%BUILD_CONFIGURATION% /maxcpucount:2
IF "%APPVEYOR_REPO_TAG%"=="true" cpack
mkdir dist_%BUILD_PLATFORM%
copy %BUILD_CONFIGURATION%\*.exe dist_%BUILD_PLATFORM%
copy %BUILD_CONFIGURATION%\*.dll dist_%BUILD_PLATFORM%
copy %BUILD_CONFIGURATION%\lib\*.dll dist_%BUILD_PLATFORM%
mkdir dist_%BUILD_PLATFORM%\AI
copy %BUILD_CONFIGURATION%\AI\*.dll dist_%BUILD_PLATFORM%\AI
cd dist_%BUILD_PLATFORM%
mkdir platforms
copy %QTDIR%\bin\Qt5Core.dll .
copy %QTDIR%\bin\Qt5Gui.dll .
copy %QTDIR%\bin\Qt5Widgets.dll .
copy %QTDIR%\bin\Qt5Network.dll .
copy %QTDIR%\plugins\platforms\qwindows.dll platforms
7z a c:\projects\vcmi\source\vcmi-%BUILD_PLATFORM%-%BUILD_CONFIGURATION%.zip * -mx=7 -r -x!*.exp -x!*.lib
7z a c:\projects\vcmi\source\vcmi-%BUILD_PLATFORM%-%BUILD_CONFIGURATION%.zip c:\projects\vcmi\depends\bin\*.dll -mx=7
- cmd: c:\projects\vcmi\source\CI\msvc\build_script.bat
artifacts:
- path: vcmi-x86-Release.zip
- path: build_$(VCMI_BUILD_PLATFORM)\*.exe
notifications:
- provider: Slack
incoming_webhook:
secure: zxT3HTnxL744HiSv7ig7sjGL4LmJ8n3MsY8PEA/kinbVMkmcxrSgVBVkHV79RfSWSyq4oLMSRvMMpG8SuDWnf6oK/qvgaiAWfwwlCIiA7uQ=
# Branch-specific configuration
for:
# Extended configuration for toolchain_test branch
-
branches:
only:
- toolchain_test
environment:
matrix:
- NAME: MSVS 2015 x86 - Release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCMI_GENERATOR: Visual Studio 14 2015
VCMI_BUILD_PLATFORM: x86
VCMI_BUILD_CONFIGURATION: Release
- NAME: MSVS 2015 x86 - Debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCMI_GENERATOR: Visual Studio 14 2015
VCMI_BUILD_PLATFORM: x86
VCMI_BUILD_CONFIGURATION: Debug
- NAME: MSVS 2015 x64 - Release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCMI_GENERATOR: Visual Studio 14 2015 Win64
VCMI_BUILD_PLATFORM: x64
VCMI_BUILD_CONFIGURATION: Release
- NAME: MSVS 2015 x64 - Debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCMI_GENERATOR: Visual Studio 14 2015 Win64
VCMI_BUILD_PLATFORM: x64
VCMI_BUILD_CONFIGURATION: Debug
- NAME: MSVS 2017 x86 - Release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCMI_GENERATOR: Visual Studio 15 2017
VCMI_BUILD_PLATFORM: x86
VCMI_BUILD_CONFIGURATION: Release
- NAME: MSVS 2017 x86 - Debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCMI_GENERATOR: Visual Studio 15 2017
VCMI_BUILD_PLATFORM: x86
VCMI_BUILD_CONFIGURATION: Debug
- NAME: MSVS 2017 x64 - Release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCMI_GENERATOR: Visual Studio 15 2017 Win64
VCMI_BUILD_PLATFORM: x64
VCMI_BUILD_CONFIGURATION: Release
- NAME: MSVS 2017 x64 - Debug
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCMI_GENERATOR: Visual Studio 15 2017 Win64
VCMI_BUILD_PLATFORM: x64
VCMI_BUILD_CONFIGURATION: Debug
# Default configuration for all other branches
-
environment:
matrix:
- NAME: MSVS 2015 x86 - Release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCMI_GENERATOR: Visual Studio 14 2015
VCMI_BUILD_PLATFORM: x86
VCMI_BUILD_CONFIGURATION: Release
- NAME: MSVS 2017 x64 - Release
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCMI_GENERATOR: Visual Studio 15 2017 Win64
VCMI_BUILD_PLATFORM: x64
VCMI_BUILD_CONFIGURATION: Release

@ -1,14 +1,33 @@
#!/bin/sh
VCMI_PACKAGE_FILE_NAME="${TRAVIS_JOB_ID}-vcmi"
VCMI_PACKAGE_NAME_SUFFIX=""
if [ "$TRAVIS_PULL_REQUEST" = "false" ];
if [ ! -z "$TRAVIS_JOB_ID" ];
then
branch_name=$(echo "$TRAVIS_BRANCH" | sed 's/[^[:alnum:]]\+/_/g')
VCMI_PACKAGE_FILE_NAME="${VCMI_PACKAGE_FILE_NAME}-branch-${branch_name}-${TRAVIS_COMMIT}"
echo "Using Travis environment variables!"
TMP_JOBID="$TRAVIS_JOB_ID"
TMP_BRANCH="$TRAVIS_BRANCH"
TMP_PRID="$TRAVIS_PULL_REQUEST"
TMP_COMMIT="$TRAVIS_COMMIT"
elif [ ! -z "${APPVEYOR_JOB_ID}" ];
then
echo "Using AppVeyor environment variables!"
TMP_JOBID=$(echo "$APPVEYOR_JOB_ID" | sed 's/[^[:digit:]]\+//g')
TMP_BRANCH="$APPVEYOR_REPO_BRANCH"
TMP_PRID="$APPVEYOR_PULL_REQUEST_NUMBER"
TMP_COMMIT="$APPVEYOR_REPO_COMMIT"
else
echo "No Travir or AppVeyor environment variables found!"
exit
fi
VCMI_PACKAGE_FILE_NAME="${TMP_JOBID}-vcmi"
VCMI_PACKAGE_NAME_SUFFIX=""
if [ -z "$TMP_PRID" ];
then
branch_name=$(echo "$TMP_BRANCH" | sed 's/[^[:alnum:]]\+/_/g')
VCMI_PACKAGE_FILE_NAME="${VCMI_PACKAGE_FILE_NAME}-branch-${branch_name}-${TMP_COMMIT}"
VCMI_PACKAGE_NAME_SUFFIX="branch ${branch_name}"
else
VCMI_PACKAGE_FILE_NAME="${VCMI_PACKAGE_FILE_NAME}-PR-${TRAVIS_PULL_REQUEST}-${TRAVIS_COMMIT}"
VCMI_PACKAGE_NAME_SUFFIX="PR ${TRAVIS_PULL_REQUEST}"
VCMI_PACKAGE_FILE_NAME="${VCMI_PACKAGE_FILE_NAME}-PR-${TMP_PRID}-${TMP_COMMIT}"
VCMI_PACKAGE_NAME_SUFFIX="PR ${TMP_PRID}"
fi
VCMI_PACKAGE_NAME_SUFFIX="(${VCMI_PACKAGE_NAME_SUFFIX})"

@ -1,18 +0,0 @@
SET(CMAKE_SYSTEM_NAME Windows)
SET(VCMIBUILD_DIR c:/projects/vcmi)
SET(CMAKE_C_COMPILER cl)
SET(CMAKE_CXX_COMPILER cl)
set(CMAKE_RC_COMPILER rc)
SET(ENV{BOOST_ROOT} C:/Libraries/boost_1_60_0)
SET(ENV{BOOST_LIBRARYDIR} C:/Libraries/boost_1_60_0/lib32-msvc-14.0)
SET(CMAKE_FIND_ROOT_PATH ${VCMIBUILD_DIR}/depends)
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_FIND_ROOT_PATH})
list(APPEND CMAKE_PREFIX_PATH C:/Qt/5.7/msvc2015)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

6
CI/msvc/build_script.bat Normal file

@ -0,0 +1,6 @@
cd %APPVEYOR_BUILD_FOLDER%
cd build_%VCMI_BUILD_PLATFORM%
cmake --build . --config %VCMI_BUILD_CONFIGURATION% -- /maxcpucount:2
cpack

17
CI/msvc/install.sh Normal file

@ -0,0 +1,17 @@
cd $APPVEYOR_BUILD_FOLDER
git submodule update --init --recursive
cd ..
curl -LfsS -o "vcpkg-export-${VCMI_BUILD_PLATFORM}-windows-v140.7z" \
"https://github.com/vcmi/vcmi-deps-windows/releases/download/v1/vcpkg-export-${VCMI_BUILD_PLATFORM}-windows-v140.7z"
7z x "vcpkg-export-${VCMI_BUILD_PLATFORM}-windows-v140.7z"
cd $APPVEYOR_BUILD_FOLDER
mkdir build_$VCMI_BUILD_PLATFORM
cd build_$VCMI_BUILD_PLATFORM
source $APPVEYOR_BUILD_FOLDER/CI/get_package_name.sh
cmake -G "$VCMI_GENERATOR" .. -DCMAKE_TOOLCHAIN_FILE=$APPVEYOR_BUILD_FOLDER/../vcpkg/scripts/buildsystems/vcpkg.cmake \
-DPACKAGE_NAME_SUFFIX:STRING="$VCMI_PACKAGE_NAME_SUFFIX" \
-DPACKAGE_FILE_NAME:STRING="$VCMI_PACKAGE_FILE_NAME"