1version: '{branch}.{build}'
2os: Visual Studio 2015
3clone_depth: 1
4environment:
5  matrix:
6  - CMAKE_ARGS: -DSDL2PP_ENABLE_LIVE_TESTS=OFF -DCMAKE_CXX_FLAGS="-D_SCL_SECURE_NO_WARNINGS /wd4275 /wd4251 /EHsc /WX" -G "Visual Studio 14 2015"
7    PREFIX: c:\usr_msvc
8    MSVC:
9    MINGW32: rem
10  - CMAKE_ARGS: -DCMAKE_C_COMPILER=mingw32-gcc -DCMAKE_CXX_COMPILER=mingw32-g++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -DSDL2PP_ENABLE_LIVE_TESTS=OFF -DCMAKE_CXX_FLAGS="-Werror" -G "MinGW Makefiles"
11    PREFIX: c:\usr_mingw32
12    MINGW32:
13    MSVC: rem
14cache:
15  - c:\usr_msvc -> appveyor.yml
16  - c:\usr_mingw32 -> appveyor.yml
17before_build:
18  - |-
19    set MINGW32_ARCH=i686-w64-mingw32
20
21  - if exist %PREFIX% set NEEDDEPENDS=rem
22
23  # Depends
24  - |-
25    %NEEDDEPENDS% mkdir %PREFIX%\include\SDL2
26    %NEEDDEPENDS% mkdir %PREFIX%\lib
27    %NEEDDEPENDS% cd %TEMP%
28
29  # Depends for MSVC
30  - |-
31    %NEEDDEPENDS% %MSVC% appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.4-VC.zip
32    %NEEDDEPENDS% %MSVC% 7z x SDL2-devel-2.0.4-VC.zip > nul
33    %NEEDDEPENDS% %MSVC% copy SDL2-2.0.4\include\* %PREFIX%\include > nul
34    %NEEDDEPENDS% %MSVC% copy SDL2-2.0.4\lib\x86\* %PREFIX%\lib > nul
35
36  - |-
37    %NEEDDEPENDS% %MSVC% appveyor DownloadFile http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.1-VC.zip
38    %NEEDDEPENDS% %MSVC% 7z x SDL2_image-devel-2.0.1-VC.zip > nul
39    %NEEDDEPENDS% %MSVC% copy SDL2_image-2.0.1\include\* %PREFIX%\include > nul
40    %NEEDDEPENDS% %MSVC% copy SDL2_image-2.0.1\lib\x86\* %PREFIX%\lib > nul
41
42  - |-
43    %NEEDDEPENDS% %MSVC% appveyor DownloadFile http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.1-VC.zip
44    %NEEDDEPENDS% %MSVC% 7z x SDL2_mixer-devel-2.0.1-VC.zip > nul
45    %NEEDDEPENDS% %MSVC% copy SDL2_mixer-2.0.1\include\* %PREFIX%\include > nul
46    %NEEDDEPENDS% %MSVC% copy SDL2_mixer-2.0.1\lib\x86\* %PREFIX%\lib > nul
47
48  - |-
49    %NEEDDEPENDS% %MSVC% appveyor DownloadFile https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.14-VC.zip
50    %NEEDDEPENDS% %MSVC% 7z x SDL2_ttf-devel-2.0.14-VC.zip > nul
51    %NEEDDEPENDS% %MSVC% copy SDL2_ttf-2.0.14\include\* %PREFIX%\include > nul
52    %NEEDDEPENDS% %MSVC% copy SDL2_ttf-2.0.14\lib\x86\* %PREFIX%\lib > nul
53
54  # Depends for MinGW32
55  - |-
56    %NEEDDEPENDS% %MINGW32% appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.4-mingw.tar.gz
57    %NEEDDEPENDS% %MINGW32% 7z x SDL2-devel-2.0.4-mingw.tar.gz > nul
58    %NEEDDEPENDS% %MINGW32% 7z x SDL2-devel-2.0.4-mingw.tar > nul
59    %NEEDDEPENDS% %MINGW32% copy SDL2-2.0.4\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
60    %NEEDDEPENDS% %MINGW32% copy SDL2-2.0.4\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
61    %NEEDDEPENDS% %MINGW32% copy SDL2-2.0.4\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
62
63  - |-
64    %NEEDDEPENDS% %MINGW32% appveyor DownloadFile http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.1-mingw.tar.gz
65    %NEEDDEPENDS% %MINGW32% 7z x SDL2_image-devel-2.0.1-mingw.tar.gz > nul
66    %NEEDDEPENDS% %MINGW32% 7z x SDL2_image-devel-2.0.1-mingw.tar > nul
67    %NEEDDEPENDS% %MINGW32% copy SDL2_image-2.0.1\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
68    %NEEDDEPENDS% %MINGW32% copy SDL2_image-2.0.1\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
69    %NEEDDEPENDS% %MINGW32% copy SDL2_image-2.0.1\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
70
71  - |-
72    %NEEDDEPENDS% %MINGW32% appveyor DownloadFile https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.1-mingw.tar.gz
73    %NEEDDEPENDS% %MINGW32% 7z x SDL2_mixer-devel-2.0.1-mingw.tar.gz > nul
74    %NEEDDEPENDS% %MINGW32% 7z x SDL2_mixer-devel-2.0.1-mingw.tar > nul
75    %NEEDDEPENDS% %MINGW32% copy SDL2_mixer-2.0.1\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
76    %NEEDDEPENDS% %MINGW32% copy SDL2_mixer-2.0.1\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
77    %NEEDDEPENDS% %MINGW32% copy SDL2_mixer-2.0.1\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
78
79  - |-
80    %NEEDDEPENDS% %MINGW32% appveyor DownloadFile https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.14-mingw.tar.gz
81    %NEEDDEPENDS% %MINGW32% 7z x SDL2_ttf-devel-2.0.14-mingw.tar.gz > nul
82    %NEEDDEPENDS% %MINGW32% 7z x SDL2_ttf-devel-2.0.14-mingw.tar > nul
83    %NEEDDEPENDS% %MINGW32% copy SDL2_ttf-2.0.14\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
84    %NEEDDEPENDS% %MINGW32% copy SDL2_ttf-2.0.14\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
85    %NEEDDEPENDS% %MINGW32% copy SDL2_ttf-2.0.14\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
86
87build_script:
88  # build
89  - |-
90    %MINGW32% set PATH=c:\mingw\bin;%PATH%
91
92    cd %APPVEYOR_BUILD_FOLDER%
93    cmake -DCMAKE_PREFIX_PATH=%PREFIX% %CMAKE_ARGS% .
94    cmake --build .
95
96    %MINGW32% type FindSDL2PP.cmake
97    %MINGW32% type sdl2pp.pc
98
99  # tests; PATH here lists library search paths
100  - |-
101    set PATH=%PREFIX%\lib;%PATH%
102    %MSVC% set PATH=%APPVEYOR_BUILD_FOLDER%\Debug;%PATH%
103    %MINGW32% set PATH=%APPVEYOR_BUILD_FOLDER%;%PATH%
104    ctest -V
105
106after_build:
107  - git status
108