diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..115ac86 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,65 @@ +version: '{branch}.{build}' +os: Visual Studio 2017 +clone_depth: 1 +cache: + - c:\freshmingw + - c:\usr +before_build: + - |- + set PREFIX=C:\usr + set MINGW32=C:\freshmingw + set ARCH=i686-w64-mingw32 + + # depends are only fetched where there's no cache + - if exist %PREFIX% set DEPENDS=rem + + - |- + %DEPENDS% mkdir %PREFIX%\include\SDL2 + %DEPENDS% mkdir %PREFIX%\lib + %DEPENDS% cd %TEMP% + + # SDL2 + - |- + %DEPENDS% appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.7-mingw.tar.gz + %DEPENDS% 7z x SDL2-devel-2.0.7-mingw.tar.gz > nul + %DEPENDS% 7z x SDL2-devel-2.0.7-mingw.tar > nul + %DEPENDS% copy SDL2-2.0.7\%ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul + %DEPENDS% copy SDL2-2.0.7\%ARCH%\lib\*.a %PREFIX%\lib > nul + %DEPENDS% copy SDL2-2.0.7\%ARCH%\bin\*.dll %PREFIX%\lib > nul + + # SDL2_image + - |- + %DEPENDS% appveyor DownloadFile http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.2-mingw.tar.gz + %DEPENDS% 7z x SDL2_image-devel-2.0.2-mingw.tar.gz > nul + %DEPENDS% 7z x SDL2_image-devel-2.0.2-mingw.tar > nul + %DEPENDS% copy SDL2_image-2.0.2\%ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul + %DEPENDS% copy SDL2_image-2.0.2\%ARCH%\lib\*.a %PREFIX%\lib > nul + %DEPENDS% copy SDL2_image-2.0.2\%ARCH%\bin\*.dll %PREFIX%\lib > nul + + # SDL2_ttf + - |- + %DEPENDS% appveyor DownloadFile https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.14-mingw.tar.gz + %DEPENDS% 7z x SDL2_ttf-devel-2.0.14-mingw.tar.gz > nul + %DEPENDS% 7z x SDL2_ttf-devel-2.0.14-mingw.tar > nul + %DEPENDS% copy SDL2_ttf-2.0.14\%ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul + %DEPENDS% copy SDL2_ttf-2.0.14\%ARCH%\lib\*.a %PREFIX%\lib > nul + %DEPENDS% copy SDL2_ttf-2.0.14\%ARCH%\bin\*.dll %PREFIX%\lib > nul + + # Newer mingw is required, as older mingw32 does not support std::thread + - |- + %DEPENDS% appveyor DownloadFile "http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/4.9.3/threads-posix/dwarf/i686-4.9.3-release-posix-dwarf-rt_v4-rev1.7z/download" + %DEPENDS% 7z x download -o%MINGW32% > nul + +build_script: + - |- + set Path=%MINGW32%\mingw32\bin;%Path% + cd %APPVEYOR_BUILD_FOLDER% + del "C:\Program Files\Git\usr\bin\sh.exe" + + # Build + - |- + cmake --version + cmake -DCMAKE_PREFIX_PATH="%PREFIX%" -DCMAKE_C_COMPILER=%ARCH%-gcc.exe -DCMAKE_CXX_COMPILER=%ARCH%-c++.exe -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -DSTANDALONE=ON -DCMAKE_INSTALL_PREFIX="C:\breakhack" -G "MinGW Makefiles" + + - |- + mingw32-make