language: cpp branches: only: - master - coverity_scan - /recast-.*$/ sudo: false addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-xenial-7 packages: [ cmake, clang-7, clang-tools-7, gcc-8, g++-8, libsdl2-dev ] matrix: include: - name: Recastnavigation (all) on MacOS xcode9.4 os: osx osx_image: xcode9.4 before_install: - brew update - brew install sdl2 if: branch != coverity_scan - name: Recastnavigation on Ubuntu Xenial GCC-5 os: linux dist: xenial sudo: required if: branch != coverity_scan - name: Recastnavigation on Ubuntu Xenial GCC-8 os: linux dist: xenial sudo: required env: - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" if: branch != coverity_scan - name: Recastnavigation on Ubuntu Xenial GCC-5 using Premake5 os: linux dist: xenial sudo: required if: branch != coverity_scan before_install: - wget https://github.com/premake/premake-core/releases/download/v5.0.0-alpha12/premake-5.0.0-alpha12-linux.tar.gz -O premake.tar.gz - tar -xf premake.tar.gz env: - PREMAKE=1 - name: Recastnavigation on Ubuntu Xenial Clang-7 with Static Analysis os: linux dist: xenial sudo: required env: - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" - ANALYZE="scan-build-7 --force-analyze-debug-code --use-cc clang-7 --use-c++ clang++-7" if: branch != coverity_scan compiler: clang - name: Recastnavigation Coverity Scan os: linux dist: xenial sudo: required if: branch = coverity_scan before_script: - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then eval "${MATRIX_EVAL}"; fi - if [ "${PREMAKE}" = "1" ]; then cd RecastDemo && ../premake5 gmake && cd ..; fi - if [ "${PREMAKE}" != "1" ]; then mkdir -p build && cd build && ${ANALYZE} cmake ../ && cd ..; fi script: # 2 CPUs on Travis-CI + 1 extra for IO bound process - if [ "${PREMAKE}" = "1" ]; then make -C RecastDemo/Build/gmake -j3; fi - if [ "${PREMAKE}" != "1" ]; then make -C build -j3; fi - if [ "${PREMAKE}" = "1" ]; then RecastDemo/Bin/Tests; fi - if [ "${PREMAKE}" != "1" ]; then cd build && ctest; fi