1if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat" x64 || exit /b
2if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" set GENERATOR=Visual Studio 15 2017
3set PATH=%APPVEYOR_BUILD_FOLDER%\deps-native\bin;%PATH%
4
5rem Build ANGLE. The repo is now just a README redirecting to googlesource.
6rem I don't want to bother with this right now, so checking out last usable
7rem version from 2017. TODO: fix when I can be bothered
8git clone --depth 10 git://github.com/MSOpenTech/angle.git || exit /b
9cd angle || exit /b
10git checkout c61d0488abd9663e0d4d2450db7345baa2c0dfb6 || exit /b
11cd winrt\10\src || exit /b
12msbuild angle.sln /p:Configuration=Release || exit /b
13cd ..\..\..\.. || exit /b
14
15rem Build SDL
16appveyor DownloadFile https://www.libsdl.org/release/SDL2-2.0.4.zip || exit /b
177z x SDL2-2.0.4.zip || exit /b
18ren SDL2-2.0.4 SDL || exit /b
19cd SDL/VisualC-WinRT/UWP_VS2015 || exit/b
20msbuild /p:Configuration=Release || exit /b
21cd ..\..\..
22
23git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
24cd corrade || exit /b
25
26rem Build native corrade-rc
27mkdir build && cd build || exit /b
28cmake .. ^
29    -DCMAKE_BUILD_TYPE=Release ^
30    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps-native ^
31    -DWITH_INTERCONNECT=OFF ^
32    -DWITH_PLUGINMANAGER=OFF ^
33    -DWITH_TESTSUITE=OFF ^
34    -DWITH_UTILITY=OFF ^
35    -G Ninja || exit /b
36cmake --build . --target install || exit /b
37cd .. || exit /b
38
39rem Crosscompile Corrade
40mkdir build-rt && cd build-rt || exit /b
41cmake .. ^
42    -DCMAKE_SYSTEM_NAME=WindowsStore ^
43    -DCMAKE_SYSTEM_VERSION=10.0 ^
44    -DCORRADE_RC_EXECUTABLE=%APPVEYOR_BUILD_FOLDER%/deps-native/bin/corrade-rc.exe ^
45    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
46    -DWITH_INTERCONNECT=OFF ^
47    -DWITH_TESTSUITE=OFF ^
48    -DBUILD_STATIC=ON ^
49    -G "%GENERATOR%" -A x64 || exit /b
50cmake --build . --config Release --target install -- /m /v:m || exit /b
51cd .. && cd ..
52
53rem Crosscompile Magnum
54git clone --depth 1 git://github.com/mosra/magnum.git || exit /b
55cd magnum || exit /b
56mkdir build-rt && cd build-rt || exit /b
57cmake .. ^
58    -DCMAKE_SYSTEM_NAME=WindowsStore ^
59    -DCMAKE_SYSTEM_VERSION=10.0 ^
60    -DCORRADE_RC_EXECUTABLE=%APPVEYOR_BUILD_FOLDER%/deps-native/bin/corrade-rc.exe ^
61    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/deps ^
62    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
63    -DEGL_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libEGL.lib ^
64    -DEGL_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
65    -DOPENGLES2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
66    -DOPENGLES2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
67    -DOPENGLES3_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
68    -DOPENGLES3_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
69    -DSDL2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/SDL/VisualC-WinRT/UWP_VS2015/X64/Release/SDL-UWP/SDL2.lib ^
70    -DSDL2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/SDL/include ^
71    -DWITH_AUDIO=OFF ^
72    -DWITH_DEBUGTOOLS=OFF ^
73    -DWITH_MESHTOOLS=OFF ^
74    -DWITH_PRIMITIVES=OFF ^
75    -DWITH_SCENEGRAPH=OFF ^
76    -DWITH_SHADERS=OFF ^
77    -DWITH_TEXT=OFF ^
78    -DWITH_TEXTURETOOLS=OFF ^
79    -DWITH_TRADE=OFF ^
80    -DWITH_SDL2APPLICATION=ON ^
81    -DTARGET_GLES2=%TARGET_GLES2% ^
82    -DBUILD_STATIC=ON ^
83    -G "%GENERATOR%" -A x64 || exit /b
84cmake --build . --config Release --target install -- /m /v:m || exit /b
85cd .. && cd ..
86
87rem Crosscompile Magnum Integration
88git clone --depth 1 git://github.com/mosra/magnum-integration.git || exit /b
89cd magnum-integration || exit /b
90mkdir build-rt && cd build-rt || exit /b
91cmake .. ^
92    -DCMAKE_SYSTEM_NAME=WindowsStore ^
93    -DCMAKE_SYSTEM_VERSION=10.0 ^
94    -DCORRADE_RC_EXECUTABLE=%APPVEYOR_BUILD_FOLDER%/deps-native/bin/corrade-rc.exe ^
95    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/deps ^
96    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
97    -DOPENGLES2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
98    -DOPENGLES2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
99    -DOPENGLES3_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
100    -DOPENGLES3_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
101    -DWITH_BULLET=OFF ^
102    -DWITH_DART=OFF ^
103    -DWITH_IMGUI=OFF ^
104    -DWITH_OVR=OFF ^
105    -G "%GENERATOR%" -A x64 || exit /b
106cmake --build . --config Release --target install -- /m /v:m || exit /b
107cd .. && cd ..
108
109rem Build Magnum Extras
110git clone --depth 1 git://github.com/mosra/magnum-extras.git || exit /b
111cd magnum-extras || exit /b
112mkdir build-rt && cd build-rt || exit /b
113cmake .. ^
114    -DCMAKE_SYSTEM_NAME=WindowsStore ^
115    -DCMAKE_SYSTEM_VERSION=10.0 ^
116    -DCORRADE_RC_EXECUTABLE=%APPVEYOR_BUILD_FOLDER%/deps-native/bin/corrade-rc.exe ^
117    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/deps ^
118    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
119    -DOPENGLES2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
120    -DOPENGLES2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
121    -DOPENGLES3_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
122    -DOPENGLES3_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
123    -DWITH_UI=OFF ^
124    -G "%GENERATOR%" -A x64 || exit /b
125cmake --build . --config Release --target install -- /m /v:m || exit /b
126cd .. && cd ..
127
128rem Crosscompile
129mkdir build-rt && cd build-rt || exit /b
130cmake .. ^
131    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/deps ^
132    -DOPENGLES2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
133    -DOPENGLES2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
134    -DOPENGLES3_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_x64/lib/libGLESv2.lib ^
135    -DOPENGLES3_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
136    -DSDL2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/SDL/VisualC-WinRT/UWP_VS2015/X64/Release/SDL-UWP/SDL2.lib ^
137    -DSDL2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/SDL/include ^
138    -DWITH_AREALIGHTS_EXAMPLE=OFF ^
139    -DWITH_AUDIO_EXAMPLE=OFF ^
140    -DWITH_BOX2D_EXAMPLE=OFF ^
141    -DWITH_BULLET_EXAMPLE=OFF ^
142    -DWITH_CUBEMAP_EXAMPLE=OFF ^
143    -DWITH_DART_EXAMPLE=OFF ^
144    -DWITH_IMGUI_EXAMPLE=OFF ^
145    -DWITH_MOTIONBLUR_EXAMPLE=OFF ^
146    -DWITH_MOUSEINTERACTION_EXAMPLE=OFF ^
147    -DWITH_OVR_EXAMPLE=OFF ^
148    -DWITH_PICKING_EXAMPLE=OFF ^
149    -DWITH_PRIMITIVES_EXAMPLE=OFF ^
150    -DWITH_SHADOWS_EXAMPLE=OFF ^
151    -DWITH_TEXT_EXAMPLE=OFF ^
152    -DWITH_TEXTUREDTRIANGLE_EXAMPLE=OFF ^
153    -DWITH_TRIANGLE_EXAMPLE=OFF ^
154    -DWITH_TRIANGLE_PLAIN_GLFW_EXAMPLE=OFF ^
155    -DWITH_TRIANGLE_SOKOL_EXAMPLE=OFF ^
156    -DWITH_VIEWER_EXAMPLE=OFF ^
157    -G "%GENERATOR%" -A x64 || exit /b
158cmake --build . --config Release -- /m /v:m || exit /b
159