Browse Source

package/ci: build for Emscripten WebGL 1/2 on Travis.

pull/158/head
Vladimír Vondruš 10 years ago
parent
commit
4bd958ab8c
  1. 61
      package/ci/travis-emscripten.sh
  2. 10
      package/ci/travis.yml

61
package/ci/travis-emscripten.sh

@ -0,0 +1,61 @@
#!/bin/bash
set -ev
git submodule update --init
git clone --depth 1 git://github.com/mosra/corrade.git
cd corrade
# Build native corrade-rc
mkdir build && cd build || exit /b
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$HOME/deps-native \
-DCMAKE_INSTALL_RPATH=$HOME/deps-native/lib \
-DWITH_INTERCONNECT=OFF \
-DWITH_PLUGINMANAGER=OFF \
-DWITH_TESTSUITE=OFF
make -j install
cd ..
# Crosscompile Corrade
mkdir build-emscripten && cd build-emscripten
cmake .. \
-DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
-DCMAKE_TOOLCHAIN_FILE="../../toolchains/generic/Emscripten.cmake" \
-DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
-DWITH_INTERCONNECT=OFF
make -j install
cd ..
cd ..
# Crosscompile
mkdir build-emscripten && cd build-emscripten
cmake .. \
-DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
-DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten.cmake" \
-DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
-DCMAKE_FIND_ROOT_PATH=$HOME/deps \
-DWITH_AUDIO=OFF \
-DWITH_SDL2APPLICATION=ON \
-DWITH_MAGNUMFONT=ON \
-DWITH_MAGNUMFONTCONVERTER=ON \
-DWITH_OBJIMPORTER=ON \
-DWITH_TGAIMAGECONVERTER=ON \
-DWITH_TGAIMPORTER=ON \
-DWITH_WAVAUDIOIMPORTER=OFF \
-DBUILD_TESTS=ON \
-DTARGET_GLES2=$TARGET_GLES2
make -j4
# Test
CORRADE_TEST_COLOR=ON ctest -V

10
package/ci/travis.yml

@ -21,6 +21,14 @@ matrix:
env:
- TARGET=ios-simulator
- TARGET_GLES2=OFF
- os: osx
env:
- TARGET=emscripten
- TARGET_GLES2=ON
- os: osx
env:
- TARGET=emscripten
- TARGET_GLES2=OFF
addons:
apt:
@ -52,6 +60,7 @@ install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export PLATFORM_GL_API=CGL; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then gem install xcpretty; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then brew upgrade cmake; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "emscripten" ]; then brew install emscripten && export LLVM=/usr/local/opt/emscripten/libexec/llvm/bin && emcc; fi
- if [ "$TARGET" == "desktop" ]; then printf "[General]\ndrivers=null" > ~/.alsoftrc; fi
# SDL (cached)
@ -67,5 +76,6 @@ script:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./package/ci/travis-desktop.sh; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then ./package/ci/travis-desktop.sh; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then ./package/ci/travis-ios-simulator.sh; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "emscripten" ]; then ./package/ci/travis-emscripten.sh; fi
# Travis somehow is not able to gather all output, try to force it using this
- sync

Loading…
Cancel
Save