dist: xenial language: cpp cache: - ccache: true os: - linux - osx - windows compiler: - gcc - clang - msvc env: - EASTL_CONFIG=Debug - EASTL_CONFIG=Release addons: apt: update: true sources: - george-edison55-precise-backports - sourceline: 'ppa:ubuntu-toolchain-r/test' - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - cmake - cmake-data - g++-9 - clang-11 matrix: include: - compiler: clang "release build with clang to trigger MOJI check" env: EASTL_CONFIG=Release USE_MOJI_CHECK=yes os: linux - compiler: msvc env: EASTL_CONFIG=Release CXXFLAGS="/std:c++latest /Zc:char8_t" os: windows exclude: - os: osx compiler: gcc - os: osx compiler: msvc - os: linux compiler: msvc - os: windows compiler: clang - os: windows compiler: gcc # Handle git submodules yourself git: submodules: false before_install: - git submodule update --init - if [[ "$CXX" == "g++" ]]; then export CC="gcc-9" ;fi - if [[ "$CXX" == "g++" ]]; then export CXX="g++-9" ;fi - if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-11" ;fi - if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-11" ;fi - if [[ "$CXX" == "g++-9" && "${TRAVIS_OS_NAME}" != "windows" ]]; then g++-9 -v ;fi - if [[ "$CXX" == "clang++-11" && "${TRAVIS_OS_NAME}" != "windows" ]]; then clang++-11 -v ;fi install: # MOJI check; exit 1 if non-ascii characters detected in C++ - if [[ -n "$USE_MOJI_CHECK" && -n `git grep -P "[^[:ascii:]]" source test` ]]; then echo "Moji Detected" && exit 1 ;fi - if [[ -n "$USE_MOJI_CHECK" ]]; then exit 0 ;fi before_script: - mkdir build_$EASTL_CONFIG - cd build_$EASTL_CONFIG - cmake .. -DEASTL_BUILD_BENCHMARK:BOOL=ON -DEASTL_BUILD_TESTS:BOOL=ON - cmake --build . --config $EASTL_CONFIG script: # Run Tests - cd $TRAVIS_BUILD_DIR/build_$EASTL_CONFIG/test - ctest -C $EASTL_CONFIG -V || exit 1 # Run Benchmarks - cd $TRAVIS_BUILD_DIR/build_$EASTL_CONFIG/benchmark - ctest -C $EASTL_CONFIG -V || exit 1