Enable mingw32 build in appveyor

This commit is contained in:
Dmitry Marakasov 2016-01-05 16:25:38 +03:00
parent 62ba85a37c
commit 8cac17ed15

View File

@ -1,46 +1,107 @@
version: '{branch}.{build}'
os: Visual Studio 2015
clone_depth: 1
before_build:
- set PREFIX="C:\usr"
- set DEPENDS="C:\depends"
- mkdir "%PREFIX%\include/SDL2"
- mkdir "%PREFIX%\lib"
- mkdir "%DEPENDS%"
- cd "%DEPENDS%"
- appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.3-VC.zip
- 7z x SDL2-devel-2.0.3-VC.zip > nul
- copy SDL2-2.0.3\include\* "%PREFIX%\include\SDL2" > nul
- copy SDL2-2.0.3\lib\x86\* "%PREFIX%\lib" > nul
- appveyor DownloadFile http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.0-VC.zip
- 7z x SDL2_image-devel-2.0.0-VC.zip > nul
- copy SDL2_image-2.0.0\include\* "%PREFIX%\include\SDL2" > nul
- copy SDL2_image-2.0.0\lib\x86\* "%PREFIX%\lib" > nul
- appveyor DownloadFile http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.0-VC.zip
- 7z x SDL2_mixer-devel-2.0.0-VC.zip > nul
- copy SDL2_mixer-2.0.0\include\* "%PREFIX%\include\SDL2" > nul
- copy SDL2_mixer-2.0.0\lib\x86\* "%PREFIX%\lib" > nul
- appveyor DownloadFile https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.12-VC.zip
- 7z x SDL2_ttf-devel-2.0.12-VC.zip > nul
- copy SDL2_ttf-2.0.12\include\* "%PREFIX%\include\SDL2" > nul
- copy SDL2_ttf-2.0.12\lib\x86\* "%PREFIX%\lib" > nul
- cd "%APPVEYOR_BUILD_FOLDER%"
# Note that we only use appveyor for testing the build, it cannot produce any usable binaries
# or libraries as of now because SDL2 depends are built for VC 2012, and we build with VC 2015
# (old VC doesn't support C++11), and there's binary incompatibility which shows itself when
# linking an executable, I couldn't resolve, see [1] for more info
environment:
matrix:
# Note that we can't build any executables with MSVC for now because SDL2 depends
# are built for VC 2012, and we build with VC 2015 (old VC doesn't support C++11),
# and there's binary incompatibility which shows itself when linking an executable,
# I couldn't resolve, see [1] for more info
#
# [1] http://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2
- cmake -DSDL2PP_WITH_TESTS=OFF -DSDL2PP_WITH_EXAMPLES=OFF -DCMAKE_PREFIX_PATH="%PREFIX%" -G "Visual Studio 14 2015"
build:
project: libSDL2pp.sln
verbosity: normal
# - CMAKE_ARGS: -DSDL2PP_WITH_TESTS=OFF -DSDL2PP_WITH_EXAMPLES=OFF -G "Visual Studio 14 2015"
# PREFIX: c:\usr_msvc
# MSVC:
# MINGW32: rem
- CMAKE_ARGS: -DCMAKE_C_COMPILER=mingw32-cc -DCMAKE_CXX_COMPILER=mingw32-c++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -G "MinGW Makefiles"
PREFIX: c:\usr_mingw32
MINGW32:
MSVC: rem
cache:
- c:\usr_msvc
- c:\usr_mingw32
before_build:
- |-
set MINGW32_ARCH=i686-w64-mingw32
- if exist %PREFIX% set NEEDDEPENDS=rem
# Depends
- |-
%NEEDDEPENDS% mkdir %PREFIX%\include\SDL2
%NEEDDEPENDS% mkdir %PREFIX%\lib
%NEEDDEPENDS% cd %TEMP%
# Depends for MSVC
- |-
%NEEDDEPENDS% %MSVC% appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.3-VC.zip
%NEEDDEPENDS% %MSVC% 7z x SDL2-devel-2.0.3-VC.zip > nul
%NEEDDEPENDS% %MSVC% copy SDL2-2.0.3\include\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MSVC% copy SDL2-2.0.3\lib\x86\* %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MSVC% appveyor DownloadFile http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.0-VC.zip
%NEEDDEPENDS% %MSVC% 7z x SDL2_image-devel-2.0.0-VC.zip > nul
%NEEDDEPENDS% %MSVC% copy SDL2_image-2.0.0\include\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MSVC% copy SDL2_image-2.0.0\lib\x86\* %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MSVC% appveyor DownloadFile http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.0-VC.zip
%NEEDDEPENDS% %MSVC% 7z x SDL2_mixer-devel-2.0.0-VC.zip > nul
%NEEDDEPENDS% %MSVC% copy SDL2_mixer-2.0.0\include\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MSVC% copy SDL2_mixer-2.0.0\lib\x86\* %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MSVC% appveyor DownloadFile https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.12-VC.zip
%NEEDDEPENDS% %MSVC% 7z x SDL2_ttf-devel-2.0.12-VC.zip > nul
%NEEDDEPENDS% %MSVC% copy SDL2_ttf-2.0.12\include\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MSVC% copy SDL2_ttf-2.0.12\lib\x86\* %PREFIX%\lib > nul
# Depends for MinGW32
- |-
%NEEDDEPENDS% %MINGW32% appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz
%NEEDDEPENDS% %MINGW32% 7z x SDL2-devel-2.0.3-mingw.tar.gz > nul
%NEEDDEPENDS% %MINGW32% 7z x SDL2-devel-2.0.3-mingw.tar > nul
%NEEDDEPENDS% %MINGW32% copy SDL2-2.0.3\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MINGW32% copy SDL2-2.0.3\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
%NEEDDEPENDS% %MINGW32% copy SDL2-2.0.3\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MINGW32% appveyor DownloadFile http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.0-mingw.tar.gz
%NEEDDEPENDS% %MINGW32% 7z x SDL2_image-devel-2.0.0-mingw.tar.gz > nul
%NEEDDEPENDS% %MINGW32% 7z x SDL2_image-devel-2.0.0-mingw.tar > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_image-2.0.0\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_image-2.0.0\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_image-2.0.0\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MINGW32% appveyor DownloadFile https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.1-mingw.tar.gz
%NEEDDEPENDS% %MINGW32% 7z x SDL2_mixer-devel-2.0.1-mingw.tar.gz > nul
%NEEDDEPENDS% %MINGW32% 7z x SDL2_mixer-devel-2.0.1-mingw.tar > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_mixer-2.0.1\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_mixer-2.0.1\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_mixer-2.0.1\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MINGW32% appveyor DownloadFile https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.12-mingw.tar.gz
%NEEDDEPENDS% %MINGW32% 7z x SDL2_ttf-devel-2.0.12-mingw.tar.gz > nul
%NEEDDEPENDS% %MINGW32% 7z x SDL2_ttf-devel-2.0.12-mingw.tar > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_ttf-2.0.12\%MINGW32_ARCH%\include\SDL2\* %PREFIX%\include\SDL2 > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_ttf-2.0.12\%MINGW32_ARCH%\lib\*.a %PREFIX%\lib > nul
%NEEDDEPENDS% %MINGW32% copy SDL2_ttf-2.0.12\%MINGW32_ARCH%\bin\*.dll %PREFIX%\lib > nul
- |-
%NEEDDEPENDS% %MINGW32% appveyor DownloadFile https://hg.libsdl.org/SDL/raw-file/e217ed463f25/include/SDL_platform.h
%NEEDDEPENDS% %MINGW32% copy SDL_platform.h %PREFIX%\include\SDL2
build_script:
- |-
%MINGW% set PATH=c:\mingw\bin;%Path%
cd %APPVEYOR_BUILD_FOLDER%
echo Running "cmake -DCMAKE_PREFIX_PATH=%PREFIX% %CMAKE_ARGS%"
cmake -DCMAKE_PREFIX_PATH=%PREFIX% %CMAKE_ARGS%
%MSVC% msbuild "libSDL2pp.sln" /verbosity:normal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
%MINGW32% mingw32-make
after_build:
- git status