.travis.yml 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. sudo: false
  2. dist: bionic
  3. language: c++
  4. matrix:
  5. include:
  6. - os: osx
  7. osx_image: xcode10.3
  8. compiler: clang
  9. - os: linux
  10. compiler: clang
  11. addons:
  12. apt:
  13. packages:
  14. - cmake
  15. - build-essential
  16. - libsdl2-dev
  17. - libsdl2-image-dev
  18. - libfreetype6-dev
  19. - libglew-dev
  20. - liblua5.2-dev
  21. - libsfml-dev
  22. - os: linux
  23. compiler: clang
  24. env: NO_FONT_INTERFACE_DEFAULT="ON"
  25. addons:
  26. apt:
  27. packages:
  28. - cmake
  29. - build-essential
  30. - libsdl2-dev
  31. - libsdl2-image-dev
  32. - libfreetype6-dev
  33. - libglew-dev
  34. - liblua5.2-dev
  35. - libsfml-dev
  36. - os: linux
  37. compiler: gcc
  38. env: DISABLE_RTTI_AND_EXCEPTIONS="ON"
  39. addons:
  40. apt:
  41. packages:
  42. - cmake
  43. - build-essential
  44. - libsdl2-dev
  45. - libsdl2-image-dev
  46. - libfreetype6-dev
  47. - libglew-dev
  48. - liblua5.2-dev
  49. - libsfml-dev
  50. - os: linux
  51. compiler: gcc
  52. env: VALGRIND_SAMPLES="1"
  53. services:
  54. - xvfb
  55. addons:
  56. apt:
  57. packages:
  58. - cmake
  59. - build-essential
  60. - libsdl2-dev
  61. - libsdl2-image-dev
  62. - libfreetype6-dev
  63. - libglew-dev
  64. - liblua5.2-dev
  65. - libsfml-dev
  66. - mesa-utils
  67. - valgrind
  68. install:
  69. - cd "$TRAVIS_BUILD_DIR"
  70. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cmake -DNO_THIRDPARTY_CONTAINERS=ON -G Xcode .; fi
  71. - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cmake -DBUILD_LUA_BINDINGS=ON -DBUILD_SAMPLES=ON -DDISABLE_RTTI_AND_EXCEPTIONS=${DISABLE_RTTI_AND_EXCEPTIONS:-OFF} -DNO_FONT_INTERFACE_DEFAULT=${NO_FONT_INTERFACE_DEFAULT:-OFF} .; fi
  72. before_script:
  73. - if [[ "$VALGRIND_SAMPLES" == "1" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
  74. script:
  75. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project rmlui.xcodeproj/ -jobs 4 -configuration Release -scheme ALL_BUILD | xcpretty --color; test ${PIPESTATUS[0]} -eq 0; fi
  76. - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then make -j4; fi
  77. - if [[ "$VALGRIND_SAMPLES" == "1" ]]; then mkdir build && make DESTDIR=build install; fi
  78. - |
  79. if [[ "$VALGRIND_SAMPLES" == "1" ]]; then
  80. cnt=0
  81. vout=$(mktemp)
  82. for f in $(find $TRAVIS_BUILD_DIR/build/usr/local/opt/RmlUi/Samples/ -executable -type f); do
  83. cd `dirname $f`
  84. sample=$(basename $f)
  85. printf "\033[0;36m$sample\033[0m\n"
  86. LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/build/usr/local/lib timeout --preserve-status --signal=TERM --kill-after=15 10 valgrind --leak-check=full --track-origins=yes --suppressions=$TRAVIS_BUILD_DIR/.travis.valgrind.supp --error-exitcode=1 --log-fd=1 ./$sample >>$vout
  87. cnt=$((cnt+1))
  88. done;
  89. cat $vout
  90. okcnt=$(grep 'ERROR SUMMARY: 0 errors' $vout | wc -l)
  91. if [[ "$okcnt" != "$cnt" ]]; then exit 1; fi
  92. fi