OLD | NEW |
(Empty) | |
| 1 sudo: required |
| 2 dist: trusty |
| 3 language: cpp |
| 4 |
| 5 env: |
| 6 global: |
| 7 - /usr/local/bin:$PATH |
| 8 |
| 9 # NOTE: The COMPILER variable is unused. It simply makes the display on |
| 10 # travis-ci.org more readable. |
| 11 matrix: |
| 12 include: |
| 13 - compiler: gcc |
| 14 addons: |
| 15 apt: |
| 16 packages: |
| 17 - lcov |
| 18 env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Coverage |
| 19 - compiler: gcc |
| 20 env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Debug |
| 21 - compiler: gcc |
| 22 env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Release |
| 23 - compiler: gcc |
| 24 addons: |
| 25 apt: |
| 26 packages: |
| 27 - g++-multilib |
| 28 env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Debug BUILD_32_BIT
S=ON |
| 29 - compiler: gcc |
| 30 addons: |
| 31 apt: |
| 32 packages: |
| 33 - g++-multilib |
| 34 env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Release BUILD_32_BIT
S=ON |
| 35 - compiler: gcc |
| 36 addons: |
| 37 apt: |
| 38 sources: |
| 39 - ubuntu-toolchain-r-test |
| 40 packages: |
| 41 - g++-6 |
| 42 env: |
| 43 - COMPILER=g++-6 C_COMPILER=gcc-6 BUILD_TYPE=Debug |
| 44 - EXTRA_FLAGS="-fno-omit-frame-pointer -g -O2 -fsanitize=undefined,a
ddress -fuse-ld=gold" |
| 45 - compiler: clang |
| 46 env: COMPILER=clang++ C_COMPILER=clang BUILD_TYPE=Debug |
| 47 - compiler: clang |
| 48 env: COMPILER=clang++ C_COMPILER=clang BUILD_TYPE=Release |
| 49 # Clang w/ libc++ |
| 50 - compiler: clang |
| 51 addons: |
| 52 apt: |
| 53 packages: |
| 54 clang-3.8 |
| 55 env: |
| 56 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
| 57 - LIBCXX_BUILD=1 |
| 58 - EXTRA_FLAGS="-stdlib=libc++" |
| 59 - compiler: clang |
| 60 addons: |
| 61 apt: |
| 62 packages: |
| 63 clang-3.8 |
| 64 env: |
| 65 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Release |
| 66 - LIBCXX_BUILD=1 |
| 67 - EXTRA_FLAGS="-stdlib=libc++" |
| 68 # Clang w/ 32bit libc++ |
| 69 - compiler: clang |
| 70 addons: |
| 71 apt: |
| 72 packages: |
| 73 - clang-3.8 |
| 74 - g++-multilib |
| 75 env: |
| 76 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
| 77 - LIBCXX_BUILD=1 |
| 78 - BUILD_32_BITS=ON |
| 79 - EXTRA_FLAGS="-stdlib=libc++ -m32" |
| 80 # Clang w/ 32bit libc++ |
| 81 - compiler: clang |
| 82 addons: |
| 83 apt: |
| 84 packages: |
| 85 - clang-3.8 |
| 86 - g++-multilib |
| 87 env: |
| 88 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Release |
| 89 - LIBCXX_BUILD=1 |
| 90 - BUILD_32_BITS=ON |
| 91 - EXTRA_FLAGS="-stdlib=libc++ -m32" |
| 92 # Clang w/ libc++, ASAN, UBSAN |
| 93 - compiler: clang |
| 94 addons: |
| 95 apt: |
| 96 packages: |
| 97 clang-3.8 |
| 98 env: |
| 99 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
| 100 - LIBCXX_BUILD=1 LIBCXX_SANITIZER="Undefined;Address" |
| 101 - EXTRA_FLAGS="-stdlib=libc++ -fno-omit-frame-pointer -g -O2 -fsanit
ize=undefined,address -fno-sanitize-recover=all" |
| 102 - UBSAN_OPTIONS=print_stacktrace=1 |
| 103 # Clang w/ libc++ and MSAN |
| 104 - compiler: clang |
| 105 addons: |
| 106 apt: |
| 107 packages: |
| 108 clang-3.8 |
| 109 env: |
| 110 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
| 111 - LIBCXX_BUILD=1 LIBCXX_SANITIZER=MemoryWithOrigins |
| 112 - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanit
ize=memory -fsanitize-memory-track-origins" |
| 113 # Clang w/ libc++ and MSAN |
| 114 - compiler: clang |
| 115 addons: |
| 116 apt: |
| 117 packages: |
| 118 clang-3.8 |
| 119 env: |
| 120 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=RelWithDebInf
o |
| 121 - LIBCXX_BUILD=1 LIBCXX_SANITIZER=Thread |
| 122 - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanit
ize=thread -fno-sanitize-recover=all" |
| 123 |
| 124 before_script: |
| 125 - if [ -z "$BUILD_32_BITS" ]; then |
| 126 export BUILD_32_BITS=OFF && echo disabling 32 bit build; |
| 127 fi |
| 128 - if [ -n "${LIBCXX_BUILD}" ]; then |
| 129 source .travis-libcxx-setup.sh; |
| 130 fi |
| 131 - mkdir build && cd build |
| 132 |
| 133 install: |
| 134 - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then |
| 135 PATH=~/.local/bin:${PATH}; |
| 136 pip install --user --upgrade pip; |
| 137 pip install --user cpp-coveralls; |
| 138 fi |
| 139 |
| 140 script: |
| 141 - cmake -DCMAKE_C_COMPILER=${C_COMPILER} -DCMAKE_CXX_COMPILER=${COMPILER} -D
CMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_FLAGS="${EXTRA_FLAGS}" -DBENCHMARK_BU
ILD_32_BITS=${BUILD_32_BITS} .. |
| 142 - make |
| 143 - make CTEST_OUTPUT_ON_FAILURE=1 test |
| 144 |
| 145 after_success: |
| 146 - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then |
| 147 coveralls --include src --include include --gcov-options '\-lp' --root ..
--build-root .; |
| 148 fi |
| 149 |
| 150 sudo: required |
OLD | NEW |