1language: cpp 2sudo: required 3dist: xenial 4branches: 5 only: 6 - master 7addons: 8 apt: 9 sources: 10 - sourceline: "deb http://archive.ubuntu.com/ubuntu/ xenial multiverse" 11 - sourceline: "deb http://archive.ubuntu.com/ubuntu/ xenial-backports universe" 12 packages: 13 - cmake 14 - libxaw7-dev 15 - libzzip-dev 16 - libxrandr-dev 17 - libfreetype6-dev 18 - libxt-dev 19 - libboost-all-dev 20 - libgles2-mesa-dev 21 - mesa-common-dev 22 - libgl1-mesa-dev 23 - libglu1-mesa-dev # legacy GL RenderSystem only 24 - python3-dev 25 - python3-lxml # for validate script 26 - nvidia-cg-dev 27 - swig3.0 28before_script: 29 # we start compilation afterwards anyway, so no need to sleep 30 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start ; fi 31 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update && brew install freetype libzzip sdl2 ; fi 32osx_image: xcode10.1 33env: 34 - TEST=TRUE 35 - GL3ES=TRUE # build GL3Plus and GLES2 Rendersystems 36 - ANDROID=TRUE 37 - IOS=TRUE 38compiler: 39 - clang 40 - gcc 41matrix: 42 exclude: 43 - os: linux 44 compiler: clang 45 - os: linux 46 env: IOS=TRUE 47 - os: linux 48 env: GL3ES=TRUE 49 - os: osx 50 compiler: gcc 51 - os: osx 52 env: TEST=TRUE 53 - os: osx 54 env: ANDROID=TRUE 55script: 56 - cmake -P ci-build.cmake 57 - BUILD_CMD="cmake --build build" 58 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then BUILD_CMD="$BUILD_CMD -- -k -j 2" ; fi 59 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then BUILD_CMD="set -o pipefail && $BUILD_CMD | xcpretty" ; fi 60 - echo $BUILD_CMD && eval $BUILD_CMD 61 # run unit tests 62 - if [ $TEST ]; then build/bin/Test_Ogre ; fi 63 - if [ "$TRAVIS_OS_NAME" == "osx" -a "$IOS" != "TRUE" ]; then build/bin/Debug/Test_Ogre.app/Contents/MacOS/Test_Ogre ; fi 64 # XMLConverter works & validates 65 - if [ $TEST ]; then build/bin/OgreXMLConverter Samples/Media/models/jaiqua.mesh && build/bin/OgreXMLConverter Samples/Media/models/jaiqua.skeleton ; fi 66 - if [ $TEST ]; then python3 Tools/XMLConverter/docs/validate.py Samples/Media/models/jaiqua.mesh.xml ; fi 67 # run visual tests 68 - if [ $TEST ]; then cd build/bin && ./TestContext -rs "OpenGL Rendering Subsystem" ; fi 69 # verify that the python modules are loadable 70 - if [ $TEST ]; then cd ../lib && python -c "import _Ogre; import _OgreRTShader" ; fi 71 # whitespace sanity 72 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then git diff --check ${TRAVIS_COMMIT_RANGE/.../..} ; fi 73os: 74 - linux 75 - osx 76cache: apt 77