1rem Workaround for CMake not wanting sh.exe on PATH for MinGW. AARGH.
2set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
3set PATH=C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%APPVEYOR_BUILD_FOLDER%\deps\bin;%PATH%
4
5rem Build Bullet
6IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\2.86.1.zip appveyor DownloadFile https://github.com/bulletphysics/bullet3/archive/2.86.1.zip || exit /b
77z x 2.86.1.zip || exit /b
8cd bullet3-2.86.1 || exit /b
9mkdir build && cd build || exit /b
10rem CMake's Find module is not able to find Debug versions of the libraries
11cmake .. ^
12    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/bullet ^
13    -DCMAKE_BUILD_TYPE=Release ^
14    -DBUILD_SHARED_LIBS=ON ^
15    -DUSE_GRAPHICAL_BENCHMARK=OFF ^
16    -DBUILD_CPU_DEMOS=OFF ^
17    -DBUILD_BULLET2_DEMOS=OFF ^
18    -DBUILD_BULLET3=OFF ^
19    -DBUILD_EXTRAS=OFF ^
20    -DBUILD_OPENGL3_DEMOS=OFF ^
21    -DINSTALL_LIBS=ON ^
22    -DBUILD_UNIT_TESTS=OFF ^
23    -G Ninja || exit /b
24cmake --build . --target install || exit /b
25cd .. && cd ..
26
27rem Build Corrade
28git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
29cd corrade || exit /b
30mkdir build && cd build || exit /b
31cmake .. ^
32    -DCMAKE_BUILD_TYPE=Release ^
33    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
34    -DWITH_INTERCONNECT=ON ^
35    -DWITH_TESTSUITE=OFF ^
36    -G Ninja || exit /b
37cmake --build . || exit /b
38cmake --build . --target install || exit /b
39cd .. && cd ..
40
41rem Build Magnum
42git clone --depth 1 git://github.com/mosra/magnum.git || exit /b
43cd magnum || exit /b
44mkdir build && cd build || exit /b
45cmake .. ^
46    -DCMAKE_BUILD_TYPE=Release ^
47    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
48    -DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal" ^
49    -DWITH_AREALIGHTS_EXAMPLE=ON ^
50    -DWITH_AUDIO=ON ^
51    -DWITH_DEBUGTOOLS=ON ^
52    -DWITH_MESHTOOLS=ON ^
53    -DWITH_PRIMITIVES=ON ^
54    -DWITH_SCENEGRAPH=ON ^
55    -DWITH_SHADERS=ON ^
56    -DWITH_TEXT=ON ^
57    -DWITH_TEXTURETOOLS=ON ^
58    -DWITH_TRADE=ON ^
59    -DWITH_SDL2APPLICATION=ON ^
60    -DWITH_WGLCONTEXT=ON ^
61    -G Ninja || exit /b
62cmake --build . || exit /b
63cmake --build . --target install || exit /b
64cd .. && cd ..
65
66rem Build Magnum Integration
67rem For MinGW it's not possible to use the OVR SDK directly, the Oculus Runtime
68rem is needed to be installed, but that's apparently not possible from a
69rem command-line so I'm just disabling it.
70rem https://forums.oculus.com/community/discussion/18303/silent-installation-of-oculus-runtime-windows
71git clone --depth 1 git://github.com/mosra/magnum-integration.git || exit /b
72cd magnum-integration || exit /b
73mkdir build && cd build || exit /b
74cmake .. ^
75    -DCMAKE_BUILD_TYPE=Release ^
76    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/bullet ^
77    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
78    -DIMGUI_DIR=%APPVEYOR_BUILD_FOLDER%/deps/imgui ^
79    -DWITH_BULLET=ON ^
80    -DWITH_DART=OFF ^
81    -DWITH_IMGUI=ON ^
82    -DWITH_OVR=OFF ^
83    -G Ninja || exit /b
84cmake --build . || exit /b
85cmake --build . --target install || exit /b
86cd .. && cd ..
87
88rem Build Magnum Extras
89git clone --depth 1 git://github.com/mosra/magnum-extras.git || exit /b
90cd magnum-extras || exit /b
91mkdir build && cd build || exit /b
92cmake .. ^
93    -DCMAKE_BUILD_TYPE=Release ^
94    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
95    -DWITH_UI=ON ^
96    -G Ninja || exit /b
97cmake --build . || exit /b
98cmake --build . --target install || exit /b
99cd .. && cd ..
100
101rem Build
102mkdir build && cd build || exit /b
103cmake .. ^
104    -DCMAKE_BUILD_TYPE=Release ^
105    -DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/deps;%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal;%APPVEYOR_BUILD_FOLDER%/bullet" ^
106    -DIMGUI_DIR=%APPVEYOR_BUILD_FOLDER%/deps/imgui ^
107    -DWITH_AREALIGHTS_EXAMPLE=ON ^
108    -DWITH_AUDIO_EXAMPLE=ON ^
109    -DWITH_BOX2D_EXAMPLE=OFF ^
110    -DWITH_BULLET_EXAMPLE=ON ^
111    -DWITH_CUBEMAP_EXAMPLE=ON ^
112    -DWITH_DART_EXAMPLE=OFF ^
113    -DWITH_IMGUI_EXAMPLE=ON ^
114    -DWITH_MOTIONBLUR_EXAMPLE=ON ^
115    -DWITH_MOUSEINTERACTION_EXAMPLE=ON ^
116    -DWITH_OVR_EXAMPLE=OFF ^
117    -DWITH_PICKING_EXAMPLE=ON ^
118    -DWITH_PRIMITIVES_EXAMPLE=ON ^
119    -DWITH_SHADOWS_EXAMPLE=ON ^
120    -DWITH_TEXT_EXAMPLE=ON ^
121    -DWITH_TEXTUREDTRIANGLE_EXAMPLE=ON ^
122    -DWITH_TRIANGLE_EXAMPLE=ON ^
123    -DWITH_TRIANGLE_PLAIN_GLFW_EXAMPLE=ON ^
124    -DWITH_TRIANGLE_SOKOL_EXAMPLE=OFF ^
125    -DWITH_VIEWER_EXAMPLE=ON ^
126    -G Ninja || exit /b
127cmake --build . || exit /b
128