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%/openal/bin/Win64;%APPVEYOR_BUILD_FOLDER%\deps\bin;%APPVEYOR_BUILD_FOLDER%\devil;%PATH%
4
5rem Build LibJPEG
6IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\libjpeg-turbo-1.5.0.tar.gz appveyor DownloadFile http://downloads.sourceforge.net/project/libjpeg-turbo/1.5.0/libjpeg-turbo-1.5.0.tar.gz || exit /b
77z x libjpeg-turbo-1.5.0.tar.gz || exit /b
87z x libjpeg-turbo-1.5.0.tar || exit /b
9ren libjpeg-turbo-1.5.0 libjpeg-turbo || exit /b
10cd libjpeg-turbo || exit /b
11mkdir build && cd build || exit /b
12cmake .. ^
13    -DCMAKE_CXX_FLAGS="--coverage" ^
14    -DCMAKE_BUILD_TYPE=Debug ^
15    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
16    -DWITH_JPEG8=ON ^
17    -DWITH_SIMD=OFF ^
18    -G Ninja || exit /b
19cmake --build . --target install || exit /b
20cd .. && cd .. || exit /b
21
22rem Build Corrade
23git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
24cd corrade || exit /b
25mkdir build && cd build || exit /b
26cmake .. ^
27    -DCMAKE_CXX_FLAGS="--coverage" ^
28    -DCMAKE_BUILD_TYPE=Debug ^
29    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
30    -DWITH_INTERCONNECT=OFF ^
31    -DUTILITY_USE_ANSI_COLORS=ON ^
32    -G Ninja || exit /b
33cmake --build . || exit /b
34cmake --build . --target install || exit /b
35cd .. && cd ..
36
37rem Build Magnum
38git clone --depth 1 git://github.com/mosra/magnum.git || exit /b
39cd magnum || exit /b
40mkdir build && cd build || exit /b
41cmake .. ^
42    -DCMAKE_CXX_FLAGS="--coverage" ^
43    -DCMAKE_BUILD_TYPE=Debug ^
44    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
45    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/openal ^
46    -DWITH_AUDIO=ON ^
47    -DWITH_DEBUGTOOLS=ON ^
48    -DWITH_GL=OFF ^
49    -DWITH_MESHTOOLS=OFF ^
50    -DWITH_PRIMITIVES=OFF ^
51    -DWITH_SCENEGRAPH=OFF ^
52    -DWITH_SHADERS=OFF ^
53    -DWITH_TEXT=ON ^
54    -DWITH_TEXTURETOOLS=ON ^
55    -DWITH_ANYIMAGEIMPORTER=ON ^
56    -G Ninja || exit /b
57cmake --build . || exit /b
58cmake --build . --target install || exit /b
59cd .. && cd ..
60
61rem Build. BUILD_GL_TESTS is enabled just to be sure, it should not be needed
62rem by any plugin.
63rem WITH_BASISIMAGECONVERTER is disabled, since Basis Universal currently does not
64rem support building on MinGW.
65mkdir build && cd build || exit /b
66cmake .. ^
67    -DCMAKE_CXX_FLAGS="--coverage" ^
68    -DCMAKE_BUILD_TYPE=Debug ^
69    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
70    -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/openal;%APPVEYOR_BUILD_FOLDER%/devil ^
71    -DWITH_ASSIMPIMPORTER=OFF ^
72    -DWITH_BASISIMAGECONVERTER=OFF ^
73    -DWITH_BASISIMPORTER=ON -DBASIS_UNIVERSAL_DIR=%APPVEYOR_BUILD_FOLDER%/basis_universal ^
74    -DWITH_DDSIMPORTER=ON ^
75    -DWITH_DEVILIMAGEIMPORTER=ON ^
76    -DWITH_DRFLACAUDIOIMPORTER=ON ^
77    -DWITH_DRMP3AUDIOIMPORTER=ON ^
78    -DWITH_DRWAVAUDIOIMPORTER=ON ^
79    -DWITH_FREETYPEFONT=OFF ^
80    -DWITH_HARFBUZZFONT=OFF ^
81    -DWITH_JPEGIMAGECONVERTER=ON ^
82    -DWITH_JPEGIMPORTER=ON ^
83    -DWITH_MINIEXRIMAGECONVERTER=ON ^
84    -DWITH_OPENGEXIMPORTER=ON ^
85    -DWITH_PNGIMAGECONVERTER=OFF ^
86    -DWITH_PNGIMPORTER=OFF ^
87    -DWITH_STANFORDIMPORTER=ON ^
88    -DWITH_STBIMAGECONVERTER=ON ^
89    -DWITH_STBIMAGEIMPORTER=ON ^
90    -DWITH_STBTRUETYPEFONT=ON ^
91    -DWITH_STBVORBISAUDIOIMPORTER=ON ^
92    -DWITH_TINYGLTFIMPORTER=ON ^
93    -DBUILD_TESTS=ON ^
94    -DBUILD_GL_TESTS=ON ^
95    -G Ninja || exit /b
96cmake --build . || exit /b
97cmake --build . --target install || exit /b
98
99rem Test
100set CORRADE_TEST_COLOR=ON
101ctest -V || exit /b
102
103rem Coverage upload
104set PATH=C:\msys64\usr\bin;%PATH%
105bash %APPVEYOR_BUILD_FOLDER%\package\ci\appveyor-lcov.sh || exit /b
106codecov -f coverage.info -X gcov
107