.travis.yml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. sudo: false
  2. dist: trusty
  3. matrix:
  4. include:
  5. - os: osx
  6. osx_image: xcode10.2
  7. env: ARCH=OSX
  8. language: c++
  9. compiler: clang
  10. - os: linux
  11. language: c++
  12. compiler: clang
  13. env: MATRIX_EVAL="CC=clang-6.0 CXX=clang++-6.0"
  14. addons:
  15. apt:
  16. sources:
  17. - ubuntu-toolchain-r-test
  18. - llvm-toolchain-trusty-6.0
  19. packages:
  20. - clang-6.0
  21. - libstdc++-7-dev
  22. - cmake
  23. - build-essential
  24. - libsdl2-dev
  25. - libsdl2-image-dev
  26. - libfreetype6-dev
  27. - libglew-dev
  28. - liblua5.2-dev
  29. - libsfml-dev
  30. - os: linux
  31. language: c++
  32. compiler: gcc
  33. env: MATRIX_EVAL="CC=gcc-7 CXX=g++-7" VALGRIND_SAMPLES="1"
  34. addons:
  35. apt:
  36. sources:
  37. - ubuntu-toolchain-r-test
  38. packages:
  39. - g++-7
  40. - cmake
  41. - build-essential
  42. - libsdl2-dev
  43. - libsdl2-image-dev
  44. - libfreetype6-dev
  45. - libglew-dev
  46. - liblua5.2-dev
  47. - libsfml-dev
  48. - mesa-utils
  49. - valgrind
  50. before_install:
  51. - if [[ -n "${MATRIX_EVAL}" ]]; then eval "${MATRIX_EVAL}" ; fi
  52. install:
  53. - cd "$TRAVIS_BUILD_DIR"
  54. - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cmake -DBUILD_LUA_BINDINGS=ON -DBUILD_SAMPLES=ON .; fi
  55. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cmake -G Xcode .; fi
  56. before_script:
  57. - if [[ "$VALGRIND_SAMPLES" == "1" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start && sleep 3; fi
  58. script:
  59. - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then make -j4; fi
  60. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project rmlui.xcodeproj/ -jobs 4 -configuration Release -target ALL_BUILD; fi
  61. - if [[ "$VALGRIND_SAMPLES" == "1" ]]; then mkdir build && make DESTDIR=build install; fi
  62. - |
  63. if [[ "$VALGRIND_SAMPLES" == "1" ]]; then
  64. cnt=0
  65. vout=$(mktemp)
  66. for f in $(find $TRAVIS_BUILD_DIR/build/usr/local/opt/RmlUi/Samples/ -executable -type f); do
  67. cd `dirname $f`
  68. sample=$(basename $f)
  69. printf "\033[0;36m$sample\033[0m\n"
  70. LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/build/usr/local/lib timeout --preserve-status --signal=TERM --kill-after=15 10 valgrind --leak-check=full --suppressions=$TRAVIS_BUILD_DIR/.travis.valgrind.supp --error-exitcode=1 --log-fd=1 ./$sample >>$vout
  71. cnt=$((cnt+1))
  72. done;
  73. cat $vout
  74. okcnt=$(grep 'ERROR SUMMARY: 0 errors' $vout | wc -l)
  75. if [[ "$okcnt" != "$cnt" ]]; then exit 1; fi
  76. fi