mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-22 11:40:05 +00:00
432dc40412
We already have VS2013 and VS2017, which should be good guards.
90 lines
2.8 KiB
YAML
90 lines
2.8 KiB
YAML
# Windows Build Configuration for AppVeyor
|
|
# http://www.appveyor.com/docs/appveyor-yml
|
|
|
|
# version format
|
|
version: "{build}"
|
|
|
|
# The most recent compiler gives the most interesting new results.
|
|
# Put it first so we get its feedback first.
|
|
os:
|
|
- Visual Studio 2017
|
|
- Visual Studio 2013
|
|
|
|
platform:
|
|
- x64
|
|
|
|
configuration:
|
|
- Debug
|
|
- Release
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
# Travis advances the master-tot tag to current top of the tree after
|
|
# each push into the master branch, because it relies on that tag to
|
|
# upload build artifacts to the master-tot release. This will cause
|
|
# double testing for each push on Appveyor: one for the push, one for
|
|
# the tag advance. Disable testing tags.
|
|
skip_tags: true
|
|
|
|
clone_depth: 1
|
|
|
|
matrix:
|
|
fast_finish: true # Show final status immediately if a test fails.
|
|
exclude:
|
|
- os: Visual Studio 2013
|
|
configuration: Debug
|
|
|
|
# scripts that run after cloning repository
|
|
install:
|
|
# Install ninja
|
|
- set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip"
|
|
- appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
|
|
- 7z x ninja.zip -oC:\ninja > nul
|
|
- set PATH=C:\ninja;%PATH%
|
|
|
|
before_build:
|
|
- git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
|
|
- git clone --depth=1 https://github.com/google/googletest.git external/googletest
|
|
- git clone --depth=1 https://github.com/google/effcee.git external/effcee
|
|
- git clone --depth=1 https://github.com/google/re2.git external/re2
|
|
# Set path and environment variables for the current Visual Studio version
|
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" (call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64)
|
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64)
|
|
|
|
build:
|
|
parallel: true # enable MSBuild parallel builds
|
|
verbosity: minimal
|
|
|
|
build_script:
|
|
- mkdir build && cd build
|
|
- cmake -GNinja -DSPIRV_BUILD_COMPRESSION=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=install -DRE2_BUILD_TESTING=OFF ..
|
|
- ninja install
|
|
|
|
test_script:
|
|
- ctest -C %CONFIGURATION% --output-on-failure --timeout 300
|
|
|
|
after_test:
|
|
# Zip build artifacts for uploading and deploying
|
|
- cd install
|
|
- 7z a SPIRV-Tools-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip *\*
|
|
|
|
artifacts:
|
|
- path: build\install\*.zip
|
|
name: artifacts-zip
|
|
|
|
deploy:
|
|
- provider: GitHub
|
|
auth_token:
|
|
secure: TMfcScKzzFIm1YgeV/PwCRXFDCw8Xm0wY2Vb2FU6WKlbzb5eUITTpr6I5vHPnAxS
|
|
release: master-tot
|
|
description: "Continuous build of the latest master branch by Appveyor and Travis CI"
|
|
artifact: artifacts-zip
|
|
draft: false
|
|
prerelease: false
|
|
force_update: true
|
|
on:
|
|
branch: master
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|