mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-15 16:35:45 +08:00
7e32ccbd8f
Added: * Release/Debug job for gcc 7 and clang 3.5 * Debug asan gcc 7 job * Debug tsan gcc 7 job * Disabled extensions * Added a spdlog::spdlog alias for tests Removed: * Valgrind workaround, the current version is 3.10.1 * install_libcxx * Makefiles Fixed: * examples build * multisink build Workarounds: * gcc7 with tsan and asan needs gold linker, otherwise build fails becase of unrecognized option '--push-state'
112 lines
2.9 KiB
YAML
112 lines
2.9 KiB
YAML
# Adapted from various sources, including:
|
|
# - Louis Dionne's Hana: https://github.com/ldionne/hana
|
|
# - Paul Fultz II's FIT: https://github.com/pfultz2/Fit
|
|
# - Eric Niebler's range-v3: https://github.com/ericniebler/range-v3
|
|
language: cpp
|
|
|
|
addons: &gcc48
|
|
apt:
|
|
packages:
|
|
- g++-4.8
|
|
- valgrind
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
addons: &gcc49
|
|
apt:
|
|
packages:
|
|
- g++-4.9
|
|
- valgrind
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
addons: &gcc7
|
|
apt:
|
|
packages:
|
|
- g++-7
|
|
- valgrind
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
addons: &clang35
|
|
apt:
|
|
packages:
|
|
- clang-3.5
|
|
- valgrind
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-precise-3.5
|
|
|
|
matrix:
|
|
include:
|
|
# Test gcc-4.8: C++11, Build=Debug/Release
|
|
- env: GCC_VERSION=4.8 BUILD_TYPE=Debug CPP=11
|
|
os: linux
|
|
addons: *gcc48
|
|
|
|
- env: GCC_VERSION=4.8 BUILD_TYPE=Release CPP=11
|
|
os: linux
|
|
addons: *gcc48
|
|
|
|
# Test gcc-4.9: C++11, Build=Debug/Release
|
|
- env: GCC_VERSION=4.9 BUILD_TYPE=Debug CPP=11
|
|
os: linux
|
|
addons: *gcc49
|
|
|
|
- env: GCC_VERSION=4.9 BUILD_TYPE=Release CPP=11
|
|
os: linux
|
|
addons: *gcc49
|
|
|
|
# Test gcc-7: C++11, Build=Debug/Release
|
|
- env: GCC_VERSION=7 BUILD_TYPE=Debug CPP=11
|
|
os: linux
|
|
addons: *gcc7
|
|
|
|
- env: GCC_VERSION=7 BUILD_TYPE=Release CPP=11
|
|
os: linux
|
|
addons: *gcc7
|
|
|
|
# Test clang-3.5: C++11, Build=Debug/Release
|
|
- env: CLANG_VERSION=3.5 BUILD_TYPE=Debug CPP=11
|
|
os: linux
|
|
addons: *clang35
|
|
|
|
- env: CLANG_VERSION=3.5 BUILD_TYPE=Release CPP=11
|
|
os: linux
|
|
addons: *clang35
|
|
|
|
# Test gcc-7: C++11, Build=Debug, ASAN=On
|
|
- env: GCC_VERSION=7 BUILD_TYPE=Debug CPP=11 ASAN=On
|
|
os: linux
|
|
addons: *gcc7
|
|
|
|
# Test gcc-7: C++11, Build=Debug, TSAN=On
|
|
- env: GCC_VERSION=7 BUILD_TYPE=Debug CPP=11 TSAN=On
|
|
os: linux
|
|
addons: *gcc7
|
|
|
|
before_install:
|
|
- if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
|
|
- if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
|
|
- which $CXX
|
|
- which $CC
|
|
- which valgrind
|
|
- $CXX --version
|
|
- cmake --version
|
|
- valgrind --version
|
|
|
|
install:
|
|
- if [ "$ASAN" == "On" ]; then export CXX_FLAGS="${CXX_FLAGS} -fsanitize=address,undefined -fno-omit-frame-pointer -fno-sanitize=signed-integer-overflow -fuse-ld=gold"; fi
|
|
- if [ "$TSAN" == "On" ]; then export CXX_FLAGS="${CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer -fuse-ld=gold"; fi
|
|
- cd ${TRAVIS_BUILD_DIR}
|
|
- mkdir -p build && cd build
|
|
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=$CPP -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DSPDLOG_BUILD_EXAMPLES=ON --warn-uninitialized
|
|
- VERBOSE=1 make -j2
|
|
|
|
script:
|
|
- if [ "$ASAN" != "On" ] && [ "$TSAN" != "On" ]; then CTEST_FLAGS="-DExperimentalMemCheck"; fi
|
|
- ctest -j2 -VV $CTEST_FLAGS
|
|
|
|
notifications:
|
|
email: false
|