.travis.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. language: cpp
  2. branches:
  3. only:
  4. - master
  5. - coverity_scan
  6. - /recast-.*$/
  7. sudo: false
  8. addons:
  9. apt:
  10. sources:
  11. - ubuntu-toolchain-r-test
  12. - llvm-toolchain-xenial-7
  13. packages: [ cmake, clang-7, clang-tools-7, gcc-8, g++-8, libsdl2-dev ]
  14. matrix:
  15. include:
  16. - name: Recastnavigation (all) on MacOS xcode9.4
  17. os: osx
  18. osx_image: xcode9.4
  19. before_install:
  20. - brew update
  21. - brew install sdl2
  22. if: branch != coverity_scan
  23. - name: Recastnavigation on Ubuntu Xenial GCC-5
  24. os: linux
  25. dist: xenial
  26. sudo: required
  27. if: branch != coverity_scan
  28. - name: Recastnavigation on Ubuntu Xenial GCC-8
  29. os: linux
  30. dist: xenial
  31. sudo: required
  32. env:
  33. - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
  34. if: branch != coverity_scan
  35. - name: Recastnavigation on Ubuntu Xenial GCC-5 using Premake5
  36. os: linux
  37. dist: xenial
  38. sudo: required
  39. if: branch != coverity_scan
  40. before_install:
  41. - 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
  42. - tar -xf premake.tar.gz
  43. env:
  44. - PREMAKE=1
  45. - name: Recastnavigation on Ubuntu Xenial Clang-7 with Static Analysis
  46. os: linux
  47. dist: xenial
  48. sudo: required
  49. env:
  50. - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7"
  51. - ANALYZE="scan-build-7 --force-analyze-debug-code --use-cc clang-7 --use-c++ clang++-7"
  52. if: branch != coverity_scan
  53. compiler: clang
  54. - name: Recastnavigation Coverity Scan
  55. os: linux
  56. dist: xenial
  57. sudo: required
  58. if: branch = coverity_scan
  59. before_script:
  60. - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then eval "${MATRIX_EVAL}"; fi
  61. - if [ "${PREMAKE}" = "1" ]; then cd RecastDemo && ../premake5 gmake && cd ..; fi
  62. - if [ "${PREMAKE}" != "1" ]; then mkdir -p build && cd build && ${ANALYZE} cmake ../ && cd ..; fi
  63. script: # 2 CPUs on Travis-CI + 1 extra for IO bound process
  64. - if [ "${PREMAKE}" = "1" ]; then make -C RecastDemo/Build/gmake -j3; fi
  65. - if [ "${PREMAKE}" != "1" ]; then make -C build -j3; fi
  66. - if [ "${PREMAKE}" = "1" ]; then RecastDemo/Bin/Tests; fi
  67. - if [ "${PREMAKE}" != "1" ]; then cd build && ctest; fi