Browse Source

package/ci: build for MinGW and Windows RT GLES2/GLES3 on AppVeyor.

pull/158/head
Vladimír Vondruš 10 years ago
parent
commit
f6cf1ba4c9
  1. 44
      package/ci/appveyor-desktop-mingw.bat
  2. 43
      package/ci/appveyor-desktop.bat
  3. 76
      package/ci/appveyor-rt.bat
  4. 74
      package/ci/appveyor.yml

44
package/ci/appveyor-desktop-mingw.bat

@ -0,0 +1,44 @@
rem Workaround for CMake not wanting sh.exe on PATH for MinGW. AARGH.
set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
set PATH=C:\tools\mingw64\bin;%APPVEYOR_BUILD_FOLDER%/openal/bin/Win64;%APPVEYOR_BUILD_FOLDER%\deps\bin;%PATH%
rem Build Corrade. Could not get Ninja to work, meh.
git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
cd corrade || exit /b
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DWITH_INTERCONNECT=OFF ^
-G "MinGW Makefiles" || exit /b
cmake --build . -- -j || exit /b
cmake --build . --target install -- -j || exit /b
cd .. && cd ..
rem Build
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal" ^
-DWITH_AUDIO=ON ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_WINDOWLESSWGLAPPLICATION=ON ^
-DWITH_WGLCONTEXT=ON ^
-DWITH_MAGNUMFONT=ON ^
-DWITH_MAGNUMFONTCONVERTER=ON ^
-DWITH_OBJIMPORTER=ON ^
-DWITH_TGAIMAGECONVERTER=ON ^
-DWITH_TGAIMPORTER=ON ^
-DWITH_WAVAUDIOIMPORTER=ON ^
-DWITH_DISTANCEFIELDCONVERTER=ON ^
-DWITH_FONTCONVERTER=ON ^
-DWITH_MAGNUMINFO=ON ^
-DBUILD_TESTS=ON ^
-DBUILD_GL_TESTS=ON ^
-G "MinGW Makefiles" || exit /b
cmake --build . || exit /b
cmake --build . --target install || exit /b
rem Test
ctest -V -E GLTest || exit /b

43
package/ci/appveyor-desktop.bat

@ -0,0 +1,43 @@
call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat" || exit /b
set PATH=%APPVEYOR_BUILD_FOLDER%/openal/bin/Win32;%APPVEYOR_BUILD_FOLDER%\deps\bin;%PATH%
rem Build Corrade
git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
cd corrade || exit /b
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DWITH_INTERCONNECT=OFF ^
-G Ninja || exit /b
cmake --build . || exit /b
cmake --build . --target install || exit /b
cd .. && cd ..
rem Build
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal" ^
-DWITH_AUDIO=ON ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_WINDOWLESSWGLAPPLICATION=ON ^
-DWITH_WGLCONTEXT=ON ^
-DWITH_MAGNUMFONT=ON ^
-DWITH_MAGNUMFONTCONVERTER=ON ^
-DWITH_OBJIMPORTER=ON ^
-DWITH_TGAIMAGECONVERTER=ON ^
-DWITH_TGAIMPORTER=ON ^
-DWITH_WAVAUDIOIMPORTER=ON ^
-DWITH_DISTANCEFIELDCONVERTER=ON ^
-DWITH_FONTCONVERTER=ON ^
-DWITH_MAGNUMINFO=ON ^
-DBUILD_TESTS=ON ^
-DBUILD_GL_TESTS=ON ^
-G Ninja || exit /b
cmake --build . || exit /b
cmake --build . --target install || exit /b
rem Test
ctest -V -E GLTest || exit /b

76
package/ci/appveyor-rt.bat

@ -0,0 +1,76 @@
call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat" || exit /b
set PATH=%APPVEYOR_BUILD_FOLDER%\deps-native\bin;%PATH%
rem Build ANGLE
git clone --depth 1 git://github.com/MSOpenTech/angle.git || exit /b
cd angle\winrt\10\src || exit /b
msbuild angle.sln /p:Configuration=Release || exit /b
cd ..\..\..\.. || exit /b
rem Build SDL
appveyor DownloadFile https://www.libsdl.org/release/SDL2-2.0.4.zip || exit /b
7z x SDL2-2.0.4.zip || exit /b
ren SDL2-2.0.4 SDL || exit /b
cd SDL/VisualC-WinRT/UWP_VS2015 || exit/b
msbuild /p:Configuration=Release || exit /b
cd ..\..\..
git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
cd corrade || exit /b
rem Build native corrade-rc
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps-native ^
-DWITH_INTERCONNECT=OFF ^
-DWITH_PLUGINMANAGER=OFF ^
-DWITH_TESTSUITE=OFF ^
-G Ninja || exit /b
cmake --build . --target install || exit /b
cd .. || exit /b
rem Crosscompile Corrade
mkdir build-rt && cd build-rt || exit /b
cmake .. ^
-DCMAKE_SYSTEM_NAME=WindowsStore ^
-DCMAKE_SYSTEM_VERSION=10.0 ^
-DCORRADE_RC_EXECUTABLE=%APPVEYOR_BUILD_FOLDER%/deps-native/bin/corrade-rc.exe ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DWITH_INTERCONNECT=OFF ^
-DBUILD_STATIC=ON ^
-G "Visual Studio 14 2015" || exit /b
cmake --build . --config Release --target install -- /m /v:m || exit /b
cd .. || exit /b
cd .. || exit /b
rem Crosscompile
mkdir build-rt && cd build-rt || exit /b
cmake .. ^
-DCMAKE_SYSTEM_NAME=WindowsStore ^
-DCMAKE_SYSTEM_VERSION=10.0 ^
-DCORRADE_RC_EXECUTABLE=%APPVEYOR_BUILD_FOLDER%/deps-native/bin/corrade-rc.exe ^
-DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/deps ^
-DEGL_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_Win32/lib/libEGL.lib ^
-DEGL_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
-DOPENGLES2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_Win32/lib/libGLESv2.lib ^
-DOPENGLES2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
-DOPENGLES3_LIBRARY=%APPVEYOR_BUILD_FOLDER%/angle/winrt/10/src/Release_Win32/lib/libGLESv2.lib ^
-DOPENGLES3_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/angle/include ^
-DSDL2_LIBRARY=%APPVEYOR_BUILD_FOLDER%/SDL/VisualC-WinRT/UWP_VS2015/Release/SDL-UWP/SDL2.lib ^
-DSDL2_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%/SDL/include ^
-DWITH_AUDIO=OFF ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_MAGNUMFONT=ON ^
-DWITH_MAGNUMFONTCONVERTER=ON ^
-DWITH_OBJIMPORTER=ON ^
-DWITH_TGAIMAGECONVERTER=ON ^
-DWITH_TGAIMPORTER=ON ^
-DWITH_WAVAUDIOIMPORTER=OFF ^
-DTARGET_GLES2=%TARGET_GLES2% ^
-DBUILD_TESTS=ON ^
-DBUILD_STATIC=ON ^
-DBUILD_PLUGINS_STATIC=ON ^
-G "Visual Studio 14 2015" || exit /b
cmake --build . --config Release -- /m /v:m || exit /b

74
package/ci/appveyor.yml

@ -1,13 +1,20 @@
# kate: indent-width 2;
version: '{branch}-{build}'
skip_tags: true
shallow_clone: true
clone_depth: 1
os: Visual Studio 2015
environment:
matrix:
- TARGET: desktop
COMPILER: msvc
- TARGET: desktop
COMPILER: mingw
- TARGET: rt
TARGET_GLES2: ON
- TARGET: rt
TARGET_GLES2: OFF
notifications:
- provider: Webhook
url: https://webhooks.gitter.im/e/415ae90928ba0dbd3df4
@ -16,55 +23,28 @@ notifications:
on_build_status_changed: true
install:
- call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat"
- set PATH=C:/Sys/bin;C:/tools/ninja;%APPVEYOR_BUILD_FOLDER%/openal/bin/Win32;%PATH%
# Ninja
- cinst ninja
- set PATH=C:/tools/ninja;%PATH%
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" cinst mingw /f >nul
# OpenAL
- IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\openal-soft-1.17.2-bin.zip appveyor DownloadFile http://kcat.strangesoft.net/openal-binaries/openal-soft-1.17.2-bin.zip
- 7z x openal-soft-1.17.2-bin.zip
- ren openal-soft-1.17.2-bin openal
- ren openal\bin\Win32\soft_oal.dll OpenAL32.dll
- echo [General] > %APPDATA%/alsoft.ini
- echo drivers=null >> %APPDATA%/alsoft.ini
- IF NOT "%TARGET%" == "rt" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\openal-soft-1.17.2-bin.zip appveyor DownloadFile http://kcat.strangesoft.net/openal-binaries/openal-soft-1.17.2-bin.zip
- IF NOT "%TARGET%" == "rt" 7z x openal-soft-1.17.2-bin.zip && ren openal-soft-1.17.2-bin openal && echo [General] > %APPDATA%/alsoft.ini & echo drivers=null >> %APPDATA%/alsoft.ini
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" ren openal\bin\Win32\soft_oal.dll OpenAL32.dll
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" ren openal\bin\Win64\soft_oal.dll OpenAL32.dll
# SDL2
- IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.3-VC.zip appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.3-VC.zip
- 7z x SDL2-devel-2.0.3-VC.zip
- ren SDL2-2.0.3 SDL
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.4-VC.zip appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.4-VC.zip
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" 7z x SDL2-devel-2.0.4-VC.zip && ren SDL2-2.0.4 SDL
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.4-mingw.tar.gz appveyor DownloadFile http://libsdl.org/release/SDL2-devel-2.0.4-mingw.tar.gz
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" 7z x SDL2-devel-2.0.4-mingw.tar.gz & 7z x SDL2-devel-2.0.4-mingw.tar & ren SDL2-2.0.4 SDL
# Corrade
- git clone --depth 1 git://github.com/mosra/corrade.git
- cd corrade
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:/Sys -G Ninja
- cmake --build .
- cmake --build . --target install
- cd ..
- cd ..
build_script:
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" call package\ci\appveyor-desktop.bat
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" call package\ci\appveyor-desktop-mingw.bat
- IF "%TARGET%" == "rt" call package\ci\appveyor-rt.bat
cache:
- SDL2-devel-2.0.3-VC.zip
- SDL2-devel-2.0.4-VC.zip
- SDL2-devel-2.0.4-mingw.zip
- openal-soft-1.17.2-bin.zip
build_script:
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:/Sys -DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal" -DWITH_AUDIO=ON -DWITH_SDL2APPLICATION=ON -DWITH_WINDOWLESSWGLAPPLICATION=ON -DWITH_WGLCONTEXT=ON -DWITH_MAGNUMFONT=ON -DWITH_MAGNUMFONTCONVERTER=ON -DWITH_OBJIMPORTER=ON -DWITH_TGAIMAGECONVERTER=ON -DWITH_TGAIMPORTER=ON -DWITH_WAVAUDIOIMPORTER=ON -DWITH_DISTANCEFIELDCONVERTER=ON -DWITH_FONTCONVERTER=ON -DWITH_MAGNUMINFO=ON -DBUILD_TESTS=ON -DBUILD_GL_TESTS=ON -G Ninja
- cmake --build .
- cmake --build . --target install
- cmake . -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/Deploy -DBUILD_TESTS=OFF
- cmake --build . --target install
- cd ../Deploy
- 7z a ../magnum.zip *
test_script:
- cd %APPVEYOR_BUILD_FOLDER%/build
- SET fail=0
- ctest --output-on-failure -E GLTest || SET fail=1 & ver > nul
- cd %APPVEYOR_BUILD_FOLDER%
- appveyor PushArtifact magnum.zip
- exit %fail%

Loading…
Cancel
Save