|
|
|
|
# kate: indent-width 2;
|
|
|
|
|
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
sources:
|
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
|
- kubuntu-backports
|
|
|
|
|
packages:
|
|
|
|
|
- g++-4.7
|
|
|
|
|
- cmake
|
|
|
|
|
- libopenal-dev
|
|
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
|
include:
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: linux
|
|
|
|
|
compiler: gcc
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=desktop
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: linux
|
|
|
|
|
compiler: gcc
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=desktop
|
|
|
|
|
- BUILD_DEPRECATED=OFF
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: linux
|
|
|
|
|
compiler: clang
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=desktop-sanitizers
|
|
|
|
|
- CMAKE_CXX_FLAGS=-fsanitize=address
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
sources:
|
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
|
- llvm-toolchain-precise-3.8
|
|
|
|
|
- kubuntu-backports
|
|
|
|
|
packages:
|
|
|
|
|
- clang-3.8
|
|
|
|
|
- cmake
|
|
|
|
|
- libopenal-dev
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: linux
|
|
|
|
|
compiler: gcc
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=desktop-gles
|
|
|
|
|
- TARGET_GLES2=ON
|
|
|
|
|
# Disabled because the Ubuntu 12.04 drivers are missing some ES3 entrypoints
|
|
|
|
|
# Should be enabled after moving to 14.04
|
|
|
|
|
#- language: cpp
|
|
|
|
|
#os: linux
|
|
|
|
|
#compiler: gcc
|
|
|
|
|
#env:
|
|
|
|
|
#- TARGET=desktop-gles
|
|
|
|
|
#- TARGET_GLES2=OFF
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: osx
|
|
|
|
|
compiler: clang
|
|
|
|
|
env: TARGET=desktop
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: osx
|
|
|
|
|
osx_image: xcode7.3
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=ios-simulator
|
|
|
|
|
- TARGET_GLES2=ON
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: osx
|
|
|
|
|
osx_image: xcode7.3
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=ios-simulator
|
|
|
|
|
- TARGET_GLES2=OFF
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: osx
|
|
|
|
|
osx_image: xcode7.3
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=emscripten
|
|
|
|
|
- TARGET_GLES2=ON
|
|
|
|
|
- language: cpp
|
|
|
|
|
os: osx
|
|
|
|
|
osx_image: xcode7.3
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=emscripten
|
|
|
|
|
- TARGET_GLES2=OFF
|
|
|
|
|
- language: android
|
|
|
|
|
os: linux
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=android
|
|
|
|
|
- TARGET_GLES2=ON
|
|
|
|
|
android:
|
|
|
|
|
components:
|
|
|
|
|
- build-tools-19.0.0
|
|
|
|
|
- android-19
|
|
|
|
|
- sys-img-armeabi-v7a-android-19
|
|
|
|
|
- language: android
|
|
|
|
|
os: linux
|
|
|
|
|
env:
|
|
|
|
|
- TARGET=android
|
|
|
|
|
- TARGET_GLES2=OFF
|
|
|
|
|
android:
|
|
|
|
|
components:
|
|
|
|
|
- build-tools-19.0.0
|
|
|
|
|
- android-19
|
|
|
|
|
- sys-img-armeabi-v7a-android-19
|
|
|
|
|
|
|
|
|
|
notifications:
|
|
|
|
|
webhooks:
|
|
|
|
|
urls:
|
|
|
|
|
- https://webhooks.gitter.im/e/00ec7a9066bb0fec98f3
|
|
|
|
|
on_success: change
|
|
|
|
|
on_failure: always
|
|
|
|
|
on_start: never
|
|
|
|
|
|
|
|
|
|
cache:
|
|
|
|
|
directories:
|
|
|
|
|
- $HOME/sdl2
|
|
|
|
|
- $HOME/glfw
|
|
|
|
|
|
|
|
|
|
install:
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ] && [ "$BUILD_DEPRECATED" != "OFF" ]; then pip install --user urllib3[secure] && pip install --user cpp-coveralls && export CMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS --coverage"; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
|
|
|
|
|
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ]; then export CXX=g++-4.7; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-sanitizers" ]; then export CXX=clang++-3.8; fi
|
|
|
|
|
- if [ "$BUILD_DEPRECATED" != "OFF" ]; then export BUILD_DEPRECATED=ON; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PLATFORM_GL_API=GLX; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then wget -nc http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin && chmod +x android-*.bin && ./android-*.bin -y | grep -v Extracting; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then export PLATFORM_GL_API=CGL; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then gem install xcpretty; fi
|
|
|
|
|
# Emscripten 1.37.10 is broken (crashes during optimization), using 1.37.1
|
|
|
|
|
# works. Replace with just `brew install emscripten` when sane again
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "emscripten" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/53f53f6498ba0f507c443dd4f0c6217937f1ddf2/Formula/emscripten.rb && export LLVM=/usr/local/opt/emscripten/libexec/llvm/bin && emcc; fi
|
|
|
|
|
- if [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] || [ "$TARGET" == "desktop-gles" ]; then printf "[General]\ndrivers=null" > ~/.alsoftrc; fi
|
|
|
|
|
|
|
|
|
|
# SDL (cached)
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then brew install sdl2; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then curl -O https://www.libsdl.org/release/SDL2-2.0.4.tar.gz && tar -xzvf SDL2-2.0.4.tar.gz && cd SDL2-2.0.4/Xcode-iOS/SDL && xcodebuild -sdk iphonesimulator9.3 | xcpretty && mkdir -p ../../../sdl2/lib && cp build/Release-iphonesimulator/libSDL2.a ../../../sdl2/lib && mkdir -p ../../../sdl2/include/SDL2 && cp -R ../../include/* ../../../sdl2/include/SDL2 && cd ../../..; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && ( [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] ) && [ ! -e "$HOME/sdl2/include" ]; then curl -O http://www.libsdl.org/release/SDL2-2.0.4.tar.gz && tar -xzvf SDL2-2.0.4.tar.gz && cd SDL2-2.0.4 && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/sdl2 -DCMAKE_BUILD_TYPE=Release && cmake --build . --target install && cd ../..; fi
|
|
|
|
|
|
|
|
|
|
# GLFW (cached)
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then brew install homebrew/versions/glfw3; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && ( [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] ) && [ ! -e "$HOME/glfw/include" ]; then wget https://github.com/glfw/glfw/releases/download/3.1.2/glfw-3.1.2.zip && unzip glfw-3.1.2.zip && cd glfw-3.1.2 && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/glfw -DCMAKE_BUILD_TYPE=Release -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF && cmake --build . --target install && cd ../..; fi
|
|
|
|
|
|
|
|
|
|
script:
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && ( [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] ); then ./package/ci/travis-desktop.sh; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-gles" ]; then ./package/ci/travis-desktop-gles.sh; fi
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then ./package/ci/travis-android-arm.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
|
|
|
|
|
|
|
|
|
|
after_success:
|
|
|
|
|
# Ignoring all stuff that needs GL context and thus can't be run on Travis
|
|
|
|
|
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ] && [ "$BUILD_DEPRECATED" != "OFF" ]; then coveralls --gcov /usr/bin/gcov-4.7 -i src/ -E "(.*/(Test|MagnumExternal|Shaders|Platform)/.*|.*/src/Magnum/(AbstractFramebuffer|AbstractObject|AbstractQuery|AbstractShaderProgram|AbstractTexture|Buffer|BufferImage|BufferTexture|Context|CubeMapTexture|CubeMapTextureArray|DebugOutput|DefaultFramebuffer|Framebuffer|Mesh|MeshView|MultisampleTexture|OpenGL|PixelStorage|PrimitiveQuery|RectangleTexture|Renderbuffer|Renderer|SampleQuery|Sampler|Shader|Texture|TextureArray|TimeQuery|TransformFeedback|Implementation/BufferState|Implementation/DebugState|Implementation/driverSpecific|Implementation/FramebufferState|Implementation/maxTextureSize|Implementation/MeshState|Implementation/QueryState|Implementation/RendererState|Implementation/ShaderProgramState|Implementation/ShaderState|Implementation/State|Implementation/TextureState|Implementation/TransformFeedbackState)\\.(cpp|h))" --gcov-options '\-lp' > /dev/null; fi
|