1# Windows Build Configuration for AppVeyor 2# http://www.appveyor.com/docs/appveyor-yml 3 4# version format 5version: "{build}" 6 7# The most recent compiler gives the most interesting new results. 8# Put it first so we get its feedback first. 9os: 10 - Visual Studio 2017 11 #- Visual Studio 2013 12 13platform: 14 - x64 15 16configuration: 17 - Debug 18 #- Release 19 20branches: 21 only: 22 - master 23 24# Travis advances the master-tot tag to current top of the tree after 25# each push into the master branch, because it relies on that tag to 26# upload build artifacts to the master-tot release. This will cause 27# double testing for each push on Appveyor: one for the push, one for 28# the tag advance. Disable testing tags. 29skip_tags: true 30 31clone_depth: 1 32 33matrix: 34 fast_finish: true # Show final status immediately if a test fails. 35 #exclude: 36 # - os: Visual Studio 2013 37 # configuration: Debug 38 39# scripts that run after cloning repository 40install: 41 # Install ninja 42 - set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip" 43 - appveyor DownloadFile %NINJA_URL% -FileName ninja.zip 44 - 7z x ninja.zip -oC:\ninja > nul 45 - set PATH=C:\ninja;%PATH% 46 47before_build: 48 - git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers 49 - git clone --depth=1 https://github.com/google/googletest.git external/googletest 50 - git clone --depth=1 https://github.com/google/effcee.git external/effcee 51 - git clone --depth=1 https://github.com/google/re2.git external/re2 52 # Set path and environment variables for the current Visual Studio version 53 - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" (call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64) 54 - 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) 55 56build: 57 parallel: true # enable MSBuild parallel builds 58 verbosity: minimal 59 60build_script: 61 - mkdir build && cd build 62 - cmake -GNinja -DSPIRV_BUILD_COMPRESSION=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=install -DRE2_BUILD_TESTING=OFF .. 63 - ninja install 64 65test_script: 66 - ctest -C %CONFIGURATION% --output-on-failure --timeout 300 67 68after_test: 69 # Zip build artifacts for uploading and deploying 70 - cd install 71 - 7z a SPIRV-Tools-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip *\* 72 73artifacts: 74 - path: build\install\*.zip 75 name: artifacts-zip 76 77deploy: 78 - provider: GitHub 79 auth_token: 80 secure: TMfcScKzzFIm1YgeV/PwCRXFDCw8Xm0wY2Vb2FU6WKlbzb5eUITTpr6I5vHPnAxS 81 release: master-tot 82 description: "Continuous build of the latest master branch by Appveyor and Travis CI" 83 artifact: artifacts-zip 84 draft: false 85 prerelease: false 86 force_update: true 87 on: 88 branch: master 89 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 90