|
|
@@ -1,117 +0,0 @@
|
|
|
-sudo: false
|
|
|
-dist: bionic
|
|
|
-language: c++
|
|
|
-
|
|
|
-cache:
|
|
|
- apt: true
|
|
|
- directories:
|
|
|
- - $HOME/.deps
|
|
|
-
|
|
|
-matrix:
|
|
|
- include:
|
|
|
- - os: osx
|
|
|
- osx_image: xcode10.3
|
|
|
- compiler: clang
|
|
|
- - os: linux
|
|
|
- compiler: clang
|
|
|
- env: BUILD_TESTING="ON"
|
|
|
- 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 -DENABLE_PRECOMPILED_HEADERS=OFF -G Xcode .; fi
|
|
|
- - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cmake -DBUILD_LUA_BINDINGS=ON -DBUILD_SAMPLES=ON -DBUILD_TESTING=${BUILD_TESTING:-OFF} -DWARNINGS_AS_ERRORS=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 [[ "$BUILD_TESTING" == "ON" ]]; then ctest; 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
|