| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- sudo: false
- dist: bionic
- language: c++
- env:
- global:
- - CXXFLAGS="-pedantic -Wall -Wextra"
- cache:
- apt: true
- directories:
- - $HOME/.deps
- matrix:
- include:
- - os: osx
- osx_image: xcode10.3
- compiler: clang
- - os: linux
- compiler: clang
- addons:
- apt:
- packages:
- - cmake
- - ninja-build
- - libsdl2-dev
- - libsdl2-image-dev
- - libfreetype6-dev
- - libglew-dev
- - liblua5.2-dev
- - libsfml-dev
- - os: linux
- compiler: clang
- env: NO_FONT_INTERFACE_DEFAULT="ON"
- addons:
- apt:
- packages:
- - cmake
- - ninja-build
- - libsdl2-dev
- - libsdl2-image-dev
- - libfreetype6-dev
- - libglew-dev
- - liblua5.2-dev
- - libsfml-dev
- - os: linux
- compiler: gcc
- env: DISABLE_RTTI_AND_EXCEPTIONS="ON" NO_THIRDPARTY_CONTAINERS="ON"
- addons:
- apt:
- packages:
- - cmake
- - ninja-build
- - libsdl2-dev
- - libsdl2-image-dev
- - libfreetype6-dev
- - libglew-dev
- - liblua5.2-dev
- - libsfml-dev
- - os: linux
- compiler: gcc
- env: VALGRIND_SAMPLES="1"
- services:
- - xvfb
- addons:
- apt:
- packages:
- - cmake
- - ninja-build
- - libsdl2-dev
- - libsdl2-image-dev
- - libfreetype6-dev
- - libglew-dev
- - liblua5.2-dev
- - libsfml-dev
- - mesa-utils
- - valgrind
- install:
- - mkdir -p $HOME/.deps
- - |
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
- if [[ ! -d "$HOME/.deps/cmake" ]]; then
- cd $HOME/.deps
- CMAKE_URL="https://cmake.org/files/v3.16/cmake-3.16.3-Linux-x86_64.tar.gz"
- mkdir -p cmake && travis_retry wget --no-clobber --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
- fi
- export PATH=${HOME}/.deps/cmake/bin:${PATH}
- echo ${PATH}
- fi
- - cmake --version
- - cd "$TRAVIS_BUILD_DIR"
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cmake -DNO_THIRDPARTY_CONTAINERS=ON -G Xcode .; fi
- - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cmake -DBUILD_LUA_BINDINGS=ON -DBUILD_SAMPLES=ON -DDISABLE_RTTI_AND_EXCEPTIONS=${DISABLE_RTTI_AND_EXCEPTIONS:-OFF} -DNO_THIRDPARTY_CONTAINERS=${NO_THIRDPARTY_CONTAINERS:-OFF} -DNO_FONT_INTERFACE_DEFAULT=${NO_FONT_INTERFACE_DEFAULT:-OFF} -G Ninja .; fi
- before_script:
- - if [[ "$VALGRIND_SAMPLES" == "1" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
- script:
- - 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
- - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then ninja; fi
- - if [[ "$VALGRIND_SAMPLES" == "1" ]]; then mkdir build && DESTDIR=build ninja install; fi
- - |
- if [[ "$VALGRIND_SAMPLES" == "1" ]]; then
- cnt=0
- vout=$(mktemp)
- for f in $(find $TRAVIS_BUILD_DIR/build/usr/local/opt/RmlUi/Samples/ -executable -type f); do
- cd `dirname $f`
- sample=$(basename $f)
- printf "\033[0;36m$sample\033[0m\n"
- 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
- cnt=$((cnt+1))
- done;
- cat $vout
- okcnt=$(grep 'ERROR SUMMARY: 0 errors' $vout | wc -l)
- if [[ "$okcnt" != "$cnt" ]]; then exit 1; fi
- fi
|