2018-08-10 16:20:52 -04:00
|
|
|
# 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
|
2018-08-12 08:32:07 -04:00
|
|
|
sudo: required
|
2018-08-10 16:20:52 -04:00
|
|
|
language: cpp
|
|
|
|
|
|
|
|
addons: &gcc48
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- g++-4.8
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
|
|
|
|
addons: &gcc7
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- g++-7
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
|
|
|
|
addons: &clang35
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- clang-3.5
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- llvm-toolchain-precise-3.5
|
|
|
|
|
2018-08-12 12:41:39 -04:00
|
|
|
addons: &clang6
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- clang-6.0
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- llvm-toolchain-trusty-6.0
|
|
|
|
|
2018-08-17 08:58:53 -04:00
|
|
|
|
2018-08-10 16:20:52 -04:00
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
# Test gcc-4.8: C++11, Build=Debug/Release
|
2019-07-02 02:58:23 -04:00
|
|
|
- env: GCC_VERSION=4.8 BUILD_TYPE=Debug CPP=11
|
2018-08-10 16:20:52 -04:00
|
|
|
os: linux
|
|
|
|
addons: *gcc48
|
|
|
|
|
2019-07-02 02:58:23 -04:00
|
|
|
- env: GCC_VERSION=4.8 BUILD_TYPE=Release CPP=11
|
2018-08-10 16:20:52 -04:00
|
|
|
os: linux
|
|
|
|
addons: *gcc48
|
2019-05-24 01:47:29 -04:00
|
|
|
|
2018-08-10 16:20:52 -04:00
|
|
|
- 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
|
|
|
|
|
2018-08-12 12:41:39 -04:00
|
|
|
# Test clang-6.0: C++11, Build=Debug, ASAN=On
|
2018-08-13 18:15:39 -04:00
|
|
|
- env: CLANG_VERSION=6.0 BUILD_TYPE=Debug CPP=11 ASAN=On TSAN=Off
|
2018-08-10 16:20:52 -04:00
|
|
|
os: linux
|
2018-08-12 12:41:39 -04:00
|
|
|
addons: *clang6
|
2019-05-24 01:47:29 -04:00
|
|
|
|
2018-08-13 18:15:39 -04:00
|
|
|
- env: CLANG_VERSION=6.0 BUILD_TYPE=Release CPP=11 ASAN=On TSAN=Off
|
2018-08-12 19:02:17 -04:00
|
|
|
os: linux
|
|
|
|
addons: *clang6
|
2018-08-13 18:02:05 -04:00
|
|
|
|
2018-08-17 08:58:53 -04:00
|
|
|
# osx
|
2018-08-17 10:30:33 -04:00
|
|
|
- env: BUILD_TYPE=Release CPP=11 ASAN=Off TSAN=Off
|
2018-08-17 09:00:14 -04:00
|
|
|
os: osx
|
2019-05-24 01:47:29 -04:00
|
|
|
|
2018-08-17 10:30:33 -04:00
|
|
|
|
2018-08-17 08:58:53 -04:00
|
|
|
|
|
|
|
|
2018-08-13 18:19:29 -04:00
|
|
|
before_script:
|
2018-08-10 16:20:52 -04:00
|
|
|
- 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
|
2018-08-17 09:15:02 -04:00
|
|
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CXX="clang++" CC="clang"; fi
|
2018-08-13 18:19:29 -04:00
|
|
|
- which $CXX
|
|
|
|
- which $CC
|
|
|
|
- $CXX --version
|
|
|
|
- cmake --version
|
2018-08-10 16:20:52 -04:00
|
|
|
|
2018-08-13 18:19:29 -04:00
|
|
|
script:
|
2018-08-10 16:20:52 -04:00
|
|
|
- cd ${TRAVIS_BUILD_DIR}
|
|
|
|
- mkdir -p build && cd build
|
2018-08-12 08:32:07 -04:00
|
|
|
- |
|
|
|
|
cmake .. \
|
|
|
|
--warn-uninitialized \
|
|
|
|
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
|
|
|
|
-DCMAKE_CXX_STANDARD=$CPP \
|
2019-06-30 19:08:48 -04:00
|
|
|
-DSPDLOG_BUILD_EXAMPLE=ON \
|
|
|
|
-DSPDLOG_BUILD_EXAMPLE_HO=ON \
|
2018-08-12 18:44:10 -04:00
|
|
|
-DSPDLOG_BUILD_BENCH=OFF \
|
2018-12-02 08:25:03 -05:00
|
|
|
-DSPDLOG_BUILD_TESTS=ON \
|
2019-07-01 16:51:05 -04:00
|
|
|
-DSPDLOG_BUILD_TESTS_HO=OFf \
|
|
|
|
-DSPDLOG_SANITIZE_ADDRESS=$ASAN
|
|
|
|
|
2018-08-13 18:19:29 -04:00
|
|
|
- make VERBOSE=1 -j2
|
|
|
|
- ctest -j2 --output-on-failure
|
2018-08-12 18:44:10 -04:00
|
|
|
|
2018-08-10 16:20:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
notifications:
|
|
|
|
email: false
|