GSL/appveyor.yml

84 lines
2.1 KiB
YAML
Raw Normal View History

shallow_clone: true
platform:
- x86
- x64
configuration:
- Debug
- Release
image:
- Visual Studio 2015
- Visual Studio 2017
environment:
matrix:
- GSL_CXX_STANDARD: 14
USE_TOOLSET: MSVC
- GSL_CXX_STANDARD: 17
USE_TOOLSET: MSVC
- GSL_CXX_STANDARD: 14
USE_TOOLSET: LLVM
- GSL_CXX_STANDARD: 17
USE_TOOLSET: LLVM
matrix:
exclude:
- image: Visual Studio 2015
GSL_CXX_STANDARD: 17
2018-11-13 13:17:55 -05:00
- image: Visual Studio 2015
USE_TOOLSET: LLVM
cache:
- C:\cmake-3.8.0-win32-x86
install:
- ps: |
if ($env:USE_TOOLSET -ne "LLVM") {
if (![IO.File]::Exists("C:\cmake-3.8.0-win32-x86\bin\cmake.exe")) {
Start-FileDownload 'https://cmake.org/files/v3.8/cmake-3.8.0-win32-x86.zip'
7z x -y cmake-3.8.0-win32-x86.zip -oC:\
}
$env:PATH="C:\cmake-3.8.0-win32-x86\bin;$env:PATH"
}
# Workaround for lld bug with vcpkg integration
if ($env:USE_TOOLSET -eq "LLVM" -and
(Get-Content C:\Tools\vcpkg\toolsrc\VERSION.txt).Replace('.','').Trim('"') -lt 20181020
) {
echo "Updating vcpkg..."
cd C:\Tools\vcpkg
git pull > $NULL
cd "$env:APPVEYOR_BUILD_FOLDER"
} else { echo "==> vcpkg has been updated, please remove the workaround from appvayor.yml." }
# /Workaround
before_build:
- ps: |
mkdir build
cd build
if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2015") {
$env:generator="Visual Studio 14 2015"
} else {
$env:generator="Visual Studio 15 2017"
}
if ($env:PLATFORM -eq "x64") {
$env:generator="$env:generator Win64"
}
echo generator="$env:generator"
2018-11-15 13:47:18 -05:00
if ($env:USE_TOOLSET -eq "LLVM") {
clang-cl --version
cmake .. -G "$env:generator" -T llvm -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_LINKER=lld-link
2018-11-13 13:17:55 -05:00
}
else {
cmake .. -G "$env:generator" -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD"
}
build_script:
- cmake --build . --config %CONFIGURATION% -- /m /v:minimal
test_script:
- ctest -j2
deploy: off