aboutsummaryrefslogtreecommitdiff
path: root/EASTL/.travis.yml
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2021-04-08 16:43:58 +0200
committerToni Uhlig <matzeton@googlemail.com>2021-04-08 16:43:58 +0200
commita3c405074db4c53e9da042a8772135fb9bf6caa2 (patch)
tree3417be8827d1eed95a415e7ee68dbc4263085405 /EASTL/.travis.yml
parentac1b72946c226eb3cd4f3f0b8f13a8330142ebe8 (diff)
parente59cf7b09e7388d369e8d2bf73501cde79c28708 (diff)
Merge commit 'e59cf7b09e7388d369e8d2bf73501cde79c28708' as 'EASTL'
Diffstat (limited to 'EASTL/.travis.yml')
-rw-r--r--EASTL/.travis.yml88
1 files changed, 88 insertions, 0 deletions
diff --git a/EASTL/.travis.yml b/EASTL/.travis.yml
new file mode 100644
index 0000000..11b4a22
--- /dev/null
+++ b/EASTL/.travis.yml
@@ -0,0 +1,88 @@
+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
+