mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
83 lines
2.0 KiB
YAML
83 lines
2.0 KiB
YAML
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
|
|
- image: Visual Studio 2015
|
|
USE_TOOLSET: LLVM
|
|
|
|
cache:
|
|
- C:\cmake-3.8.0-win32-x86
|
|
- C:\Tools\vcpkg
|
|
|
|
install:
|
|
- ps: |
|
|
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"
|
|
#
|
|
# Until vcpkg has been updated.
|
|
# Note: vcpkg can also be removed from "cache".
|
|
if ($env:USE_TOOLSET -eq "LLVM" -and
|
|
(Get-Content C:\Tools\vcpkg\toolsrc\VERSION.txt).Replace('.','').Trim('"') -lt 20181020
|
|
) {
|
|
cd C:\Tools\vcpkg
|
|
git pull
|
|
cd "$env:APPVEYOR_BUILD_FOLDER"
|
|
}
|
|
|
|
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"
|
|
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
|
|
}
|
|
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
|