Index: third_party/google_benchmark/.travis.yml |
diff --git a/third_party/google_benchmark/.travis.yml b/third_party/google_benchmark/.travis.yml |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6bbd13bb5a5703e20f9c7e3dac37e63d27515fa6 |
--- /dev/null |
+++ b/third_party/google_benchmark/.travis.yml |
@@ -0,0 +1,150 @@ |
+sudo: required |
+dist: trusty |
+language: cpp |
+ |
+env: |
+ global: |
+ - /usr/local/bin:$PATH |
+ |
+# NOTE: The COMPILER variable is unused. It simply makes the display on |
+# travis-ci.org more readable. |
+matrix: |
+ include: |
+ - compiler: gcc |
+ addons: |
+ apt: |
+ packages: |
+ - lcov |
+ env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Coverage |
+ - compiler: gcc |
+ env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Debug |
+ - compiler: gcc |
+ env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Release |
+ - compiler: gcc |
+ addons: |
+ apt: |
+ packages: |
+ - g++-multilib |
+ env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Debug BUILD_32_BITS=ON |
+ - compiler: gcc |
+ addons: |
+ apt: |
+ packages: |
+ - g++-multilib |
+ env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Release BUILD_32_BITS=ON |
+ - compiler: gcc |
+ addons: |
+ apt: |
+ sources: |
+ - ubuntu-toolchain-r-test |
+ packages: |
+ - g++-6 |
+ env: |
+ - COMPILER=g++-6 C_COMPILER=gcc-6 BUILD_TYPE=Debug |
+ - EXTRA_FLAGS="-fno-omit-frame-pointer -g -O2 -fsanitize=undefined,address -fuse-ld=gold" |
+ - compiler: clang |
+ env: COMPILER=clang++ C_COMPILER=clang BUILD_TYPE=Debug |
+ - compiler: clang |
+ env: COMPILER=clang++ C_COMPILER=clang BUILD_TYPE=Release |
+ # Clang w/ libc++ |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ clang-3.8 |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
+ - LIBCXX_BUILD=1 |
+ - EXTRA_FLAGS="-stdlib=libc++" |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ clang-3.8 |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Release |
+ - LIBCXX_BUILD=1 |
+ - EXTRA_FLAGS="-stdlib=libc++" |
+ # Clang w/ 32bit libc++ |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ - clang-3.8 |
+ - g++-multilib |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
+ - LIBCXX_BUILD=1 |
+ - BUILD_32_BITS=ON |
+ - EXTRA_FLAGS="-stdlib=libc++ -m32" |
+ # Clang w/ 32bit libc++ |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ - clang-3.8 |
+ - g++-multilib |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Release |
+ - LIBCXX_BUILD=1 |
+ - BUILD_32_BITS=ON |
+ - EXTRA_FLAGS="-stdlib=libc++ -m32" |
+ # Clang w/ libc++, ASAN, UBSAN |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ clang-3.8 |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
+ - LIBCXX_BUILD=1 LIBCXX_SANITIZER="Undefined;Address" |
+ - EXTRA_FLAGS="-stdlib=libc++ -fno-omit-frame-pointer -g -O2 -fsanitize=undefined,address -fno-sanitize-recover=all" |
+ - UBSAN_OPTIONS=print_stacktrace=1 |
+ # Clang w/ libc++ and MSAN |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ clang-3.8 |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug |
+ - LIBCXX_BUILD=1 LIBCXX_SANITIZER=MemoryWithOrigins |
+ - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanitize=memory -fsanitize-memory-track-origins" |
+ # Clang w/ libc++ and MSAN |
+ - compiler: clang |
+ addons: |
+ apt: |
+ packages: |
+ clang-3.8 |
+ env: |
+ - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=RelWithDebInfo |
+ - LIBCXX_BUILD=1 LIBCXX_SANITIZER=Thread |
+ - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanitize=thread -fno-sanitize-recover=all" |
+ |
+before_script: |
+ - if [ -z "$BUILD_32_BITS" ]; then |
+ export BUILD_32_BITS=OFF && echo disabling 32 bit build; |
+ fi |
+ - if [ -n "${LIBCXX_BUILD}" ]; then |
+ source .travis-libcxx-setup.sh; |
+ fi |
+ - mkdir build && cd build |
+ |
+install: |
+ - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then |
+ PATH=~/.local/bin:${PATH}; |
+ pip install --user --upgrade pip; |
+ pip install --user cpp-coveralls; |
+ fi |
+ |
+script: |
+ - cmake -DCMAKE_C_COMPILER=${C_COMPILER} -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_FLAGS="${EXTRA_FLAGS}" -DBENCHMARK_BUILD_32_BITS=${BUILD_32_BITS} .. |
+ - make |
+ - make CTEST_OUTPUT_ON_FAILURE=1 test |
+ |
+after_success: |
+ - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then |
+ coveralls --include src --include include --gcov-options '\-lp' --root .. --build-root .; |
+ fi |
+ |
+sudo: required |