blob: e7c428275b66ca66b8f5027b1a7c4c8c8a943900 [file] [log] [blame]
Lei Zhangf36d6e32016-05-10 09:55:05 -04001# Windows Build Configuration for AppVeyor
2# http://www.appveyor.com/docs/appveyor-yml
3
4# build version format
5version: "{build}"
6
7os: Visual Studio 2013
8
9platform:
Lei Zhanga7eab9b2017-11-08 17:26:51 -050010 - x64
Lei Zhangf36d6e32016-05-10 09:55:05 -040011
12configuration:
13 - Debug
14 - Release
15
16branches:
17 only:
18 - master
19
Lei Zhang9a65c6a2017-11-14 14:36:22 -050020# Travis advances the master-tot tag to current top of the tree after
21# each push into the master branch, because it relies on that tag to
22# upload build artifacts to the master-tot release. This will cause
23# double testing for each push on Appveyor: one for the push, one for
24# the tag advance. Disable testing tags.
25skip_tags: true
26
Lei Zhangf36d6e32016-05-10 09:55:05 -040027clone_depth: 5
28
29matrix:
30 fast_finish: true # Show final status immediately if a test fails.
31
32# scripts that run after cloning repository
33install:
GregF87fd7422017-09-22 17:21:37 -060034 - C:/Python27/python.exe update_glslang_sources.py
John Kessenich6fef1ca2019-05-09 03:43:26 -060035 - set PATH=C:\ninja;C:\Python36;%PATH%
John Kessenichf0928b32018-10-26 11:28:37 -060036 - git clone https://github.com/google/googletest.git External/googletest
37 - cd External/googletest
38 - git checkout 440527a61e1c91188195f7de212c63c77e8f0a45
39 - cd ../..
Lei Zhangf36d6e32016-05-10 09:55:05 -040040
41build:
42 parallel: true # enable MSBuild parallel builds
43 verbosity: minimal
44
45build_script:
46 - mkdir build && cd build
Lei Zhangfb4165b2018-08-09 13:36:17 -040047 - cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=install ..
Lei Zhangf36d6e32016-05-10 09:55:05 -040048 - cmake --build . --config %CONFIGURATION% --target install
49
50test_script:
51 - ctest -C %CONFIGURATION% --output-on-failure
52 - cd ../Test && bash runtests
Lei Zhanga7eab9b2017-11-08 17:26:51 -050053 - cd ../build
54
55after_test:
56 # For debug build, the generated dll has a postfix "d" in its name.
57 - ps: >-
58 If ($env:configuration -Match "Debug") {
59 $env:SUFFIX="d"
60 } Else {
61 $env:SUFFIX=""
62 }
63 - cd install
64 # Zip all glslang artifacts for uploading and deploying
65 - 7z a glslang-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip
66 bin\glslangValidator.exe
Tim Jones9177e052018-06-27 17:31:19 +080067 bin\spirv-remap.exe
Lei Zhanga7eab9b2017-11-08 17:26:51 -050068 include\glslang\*
69 include\SPIRV\*
70 lib\glslang%SUFFIX%.lib
71 lib\HLSL%SUFFIX%.lib
72 lib\OGLCompiler%SUFFIX%.lib
73 lib\OSDependent%SUFFIX%.lib
74 lib\SPIRV%SUFFIX%.lib
75 lib\SPVRemapper%SUFFIX%.lib
76 lib\SPIRV-Tools%SUFFIX%.lib
77 lib\SPIRV-Tools-opt%SUFFIX%.lib
78
79artifacts:
80 - path: build\install\*.zip
81 name: artifacts-zip
82
83deploy:
84 - provider: GitHub
85 auth_token:
86 secure: YglcSYdl0TylEa59H4K6lylBEDr586NAt2EMgZquSo+iuPrwgZQuJLPCoihSm9y6
87 release: master-tot
88 description: "Continuous build of the latest master branch by Appveyor and Travis CI"
89 artifact: artifacts-zip
90 draft: false
91 prerelease: false
92 force_update: true
93 on:
94 branch: master
95 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013