.travis.yml 2.46 KB
Newer Older
1 2 3 4
# 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
5
sudo: required
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
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

30 31 32 33 34 35 36 37
addons: &clang6
  apt:
    packages:
      - clang-6.0
    sources:
      - ubuntu-toolchain-r-test
      - llvm-toolchain-trusty-6.0

gabime's avatar
gabime committed
38

39 40 41
matrix:
  include:
    # Test gcc-4.8: C++11, Build=Debug/Release
Gabi Melman's avatar
Gabi Melman committed
42
    - env: GCC_VERSION=4.8 BUILD_TYPE=Debug CPP=11
43 44 45
      os: linux
      addons: *gcc48

Gabi Melman's avatar
Gabi Melman committed
46
    - env: GCC_VERSION=4.8 BUILD_TYPE=Release CPP=11
47 48
      os: linux
      addons: *gcc48
gabime's avatar
gabime committed
49

50 51 52 53 54 55 56 57 58 59 60 61 62
    - 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

63
      # Test clang-6.0: C++11, Build=Debug, ASAN=On
gabime's avatar
gabime committed
64
    - env: CLANG_VERSION=6.0 BUILD_TYPE=Debug CPP=11 ASAN=On TSAN=Off
65
      os: linux
66
      addons: *clang6
gabime's avatar
gabime committed
67

gabime's avatar
gabime committed
68
    - env: CLANG_VERSION=6.0 BUILD_TYPE=Release CPP=11 ASAN=On TSAN=Off
69 70
      os: linux
      addons: *clang6
71

gabime's avatar
gabime committed
72
      # osx
73
    - env: BUILD_TYPE=Release CPP=11 ASAN=Off TSAN=Off
gabime's avatar
gabime committed
74
      os: osx
gabime's avatar
gabime committed
75

76

gabime's avatar
gabime committed
77 78


gabime's avatar
gabime committed
79
before_script:
80 81
  - 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
gabime's avatar
gabime committed
82
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CXX="clang++" CC="clang"; fi
gabime's avatar
gabime committed
83 84 85 86
  - which $CXX
  - which $CC
  - $CXX --version
  - cmake --version
87

gabime's avatar
gabime committed
88
script:
89 90
  - cd ${TRAVIS_BUILD_DIR}
  - mkdir -p build && cd build
91 92 93 94 95
  - |
    cmake .. \
      --warn-uninitialized \
      -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
      -DCMAKE_CXX_STANDARD=$CPP \
96 97
      -DSPDLOG_BUILD_EXAMPLE=ON \
      -DSPDLOG_BUILD_EXAMPLE_HO=ON \
gabime's avatar
gabime committed
98
      -DSPDLOG_BUILD_BENCH=OFF \
Gabi Melman's avatar
Gabi Melman committed
99
      -DSPDLOG_BUILD_TESTS=ON \
Gabi Melman's avatar
Gabi Melman committed
100 101 102
      -DSPDLOG_BUILD_TESTS_HO=OFf \
      -DSPDLOG_SANITIZE_ADDRESS=$ASAN 
      
gabime's avatar
gabime committed
103 104
  - make VERBOSE=1 -j2
  - ctest -j2 --output-on-failure
gabime's avatar
gabime committed
105

106 107 108 109


notifications:
  email: false