1 # Windows Build Configuration for AppVeyor
2 # http://www.appveyor.com/docs/appveyor-yml
7 # The most recent compiler gives the most interesting new results.
8 # Put it first so we get its feedback first.
25 # Travis advances the master-tot tag to current top of the tree after
26 # each push into the master branch, because it relies on that tag to
27 # upload build artifacts to the master-tot release. This will cause
28 # double testing for each push on Appveyor: one for the push, one for
29 # the tag advance. Disable testing tags.
35 fast_finish: true # Show final status immediately if a test fails.
37 - os: Visual Studio 2015
39 - os: Visual Studio 2013
42 # scripts that run after cloning repository
45 - set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip"
46 - appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
47 - 7z x ninja.zip -oC:\ninja > nul
48 - set PATH=C:\ninja;%PATH%
51 - git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
52 - git clone --depth=1 https://github.com/google/googletest.git external/googletest
53 - git clone --depth=1 https://github.com/google/effcee.git external/effcee
54 - git clone --depth=1 https://github.com/google/re2.git external/re2
55 # Set path and environment variables for the current Visual Studio version
56 - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" (call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64)
57 - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64)
58 - 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)
61 parallel: true # enable MSBuild parallel builds
65 - mkdir build && cd build
66 - cmake -GNinja -DSPIRV_BUILD_COMPRESSION=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=install -DRE2_BUILD_TESTING=OFF ..
70 - ctest -C %CONFIGURATION% --output-on-failure --timeout 300
73 # Zip build artifacts for uploading and deploying
75 - 7z a SPIRV-Tools-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip *\*
78 - path: build\install\*.zip
84 secure: TMfcScKzzFIm1YgeV/PwCRXFDCw8Xm0wY2Vb2FU6WKlbzb5eUITTpr6I5vHPnAxS
86 description: "Continuous build of the latest master branch by Appveyor and Travis CI"
87 artifact: artifacts-zip
93 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017