1clone_depth: 1
2
3environment:
4  matrix:
5  - TARGET: desktop
6    COMPILER: msvc
7    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
8    APPVEYOR_JOB_NAME: windows-gl-msvc2015
9  - TARGET: desktop
10    COMPILER: msvc
11    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
12    APPVEYOR_JOB_NAME: windows-gl-msvc2017
13  - TARGET: desktop
14    COMPILER: msvc
15    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
16    APPVEYOR_JOB_NAME: windows-gl-msvc2019
17  - TARGET: desktop-vulkan
18    COMPILER: msvc
19    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
20    APPVEYOR_JOB_NAME: windows-vulkan-msvc2019
21  - TARGET: desktop
22    COMPILER: mingw
23    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
24    APPVEYOR_JOB_NAME: windows-gl-mingw
25  - TARGET: desktop-gles
26    COMPILER: msvc
27    TARGET_GLES2: ON
28    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
29    APPVEYOR_JOB_NAME: windows-gles2-msvc2017
30  - TARGET: desktop-gles
31    COMPILER: msvc
32    TARGET_GLES2: ON
33    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
34    APPVEYOR_JOB_NAME: windows-gles2-msvc2019
35  - TARGET: desktop-gles
36    COMPILER: msvc
37    TARGET_GLES2: OFF
38    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
39    APPVEYOR_JOB_NAME: windows-gles3-msvc2017
40  - TARGET: desktop-gles
41    COMPILER: msvc
42    TARGET_GLES2: OFF
43    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
44    APPVEYOR_JOB_NAME: windows-gles3-msvc2019
45  #- TARGET: rt
46    #TARGET_GLES2: ON
47    #APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
48    #APPVEYOR_JOB_NAME: windows-rt-gles2-msvc2017
49  #- TARGET: rt
50    #TARGET_GLES2: OFF
51    #APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
52    #APPVEYOR_JOB_NAME: windows-rt-gles3-msvc2017
53
54notifications:
55- provider: Webhook
56  url: https://webhooks.gitter.im/e/415ae90928ba0dbd3df4
57  on_build_success: false
58  on_build_failure: true
59  on_build_status_changed: true
60
61install:
62- cinst ninja
63- set PATH=C:/Sys/bin;C:/tools/ninja;%PATH%
64- IF "%TARGET_GLES2%" == "ON" set TARGET_GLES3=OFF
65- IF "%TARGET_GLES2%" == "OFF" set TARGET_GLES3=ON
66
67# OpenAL
68- IF NOT "%TARGET%" == "rt" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\openal-soft-1.19.1-bin.zip appveyor DownloadFile https://openal-soft.org/openal-binaries/openal-soft-1.19.1-bin.zip
69- IF NOT "%TARGET%" == "rt" 7z x openal-soft-1.19.1-bin.zip && ren openal-soft-1.19.1-bin openal
70
71# SDL2
72- IF NOT "%TARGET%" == "rt" IF "%COMPILER%" == "msvc" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.9-VC.zip appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.9-VC.zip
73- IF NOT "%TARGET%" == "rt" IF "%COMPILER%" == "msvc" 7z x SDL2-devel-2.0.9-VC.zip && ren SDL2-2.0.9 SDL
74- IF NOT "%TARGET%" == "rt" IF "%COMPILER%" == "mingw" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.9-mingw.tar.gz appveyor DownloadFile http://libsdl.org/release/SDL2-devel-2.0.9-mingw.tar.gz
75- IF NOT "%TARGET%" == "rt" IF "%COMPILER%" == "mingw" 7z x SDL2-devel-2.0.9-mingw.tar.gz & 7z x SDL2-devel-2.0.9-mingw.tar & ren SDL2-2.0.9 SDL
76
77# GLFW
78- IF "%TARGET%" == "desktop" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\glfw-3.2.1.bin.WIN64.zip appveyor DownloadFile https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.bin.WIN64.zip
79- IF "%TARGET%" == "desktop" 7z x glfw-3.2.1.bin.WIN64.zip && ren glfw-3.2.1.bin.WIN64 glfw && mkdir deps && mkdir deps\lib && mkdir deps\bin && mkdir deps\include && xcopy /e glfw\include\* deps\include\
80- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" copy glfw\lib-vc2015\glfw3.dll deps\bin\ && copy glfw\lib-vc2015\glfw3dll.lib deps\lib\glfw3.lib
81- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" copy glfw\lib-mingw-w64\glfw3.dll deps\bin\ && copy glfw\lib-mingw-w64\libglfw3dll.a deps\lib\libglfw3.a
82
83# ImGui
84- IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\imgui-1.72.zip appveyor DownloadFile https://github.com/ocornut/imgui/archive/v1.72.zip -FileName imgui-1.72.zip
85- 7z x imgui-1.72.zip -o%APPVEYOR_BUILD_FOLDER%\deps && ren %APPVEYOR_BUILD_FOLDER%\deps\imgui-1.72 imgui
86
87# OVR SDK
88- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\ovr_sdk_win_1.26.0_public_minimal.zip appveyor DownloadFile https://ci.magnum.graphics/ovr_sdk_win_1.26.0_public_minimal.zip
89- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" 7z x ovr_sdk_win_1.26.0_public_minimal.zip -o%APPVEYOR_BUILD_FOLDER%\deps
90
91build_script:
92- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" call package\ci\appveyor-desktop.bat
93- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" call package\ci\appveyor-desktop-mingw.bat
94- IF "%TARGET%" == "desktop-gles" call package\ci\appveyor-desktop-gles.bat
95# Vulkan needs to be in a separate build, because in the future it'll need
96# C++14 and building it together with C++11 code would harm verifiability of
97# C++11 compatibility.
98- IF "%TARGET%" == "desktop-vulkan" call package\ci\appveyor-desktop-vulkan.bat
99- IF "%TARGET%" == "rt" call package\ci\appveyor-rt.bat
100
101cache:
102- openal-soft-1.19.1-bin.zip -> package/ci/appveyor-cache-reset.txt
103- SDL2-devel-2.0.9-VC.zip -> package/ci/appveyor-cache-reset.txt
104- SDL2-devel-2.0.9-mingw.zip -> package/ci/appveyor-cache-reset.txt
105- ovr_sdk_win_1.26.0_public_minimal.zip -> package/ci/appveyor-cache-reset.txt
106- glfw-3.2.1.bin.WIN64.zip -> package/ci/appveyor-cache-reset.txt
107- imgui-1.72.zip -> package/ci/appveyor-cache-reset.txt
108