139 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			3.2 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
 | 
						|
sudo: required
 | 
						|
language: cpp
 | 
						|
 | 
						|
# gcc t
 | 
						|
addons: &gcc48
 | 
						|
  apt:
 | 
						|
    packages:
 | 
						|
      - g++-4.8
 | 
						|
    sources:
 | 
						|
      - ubuntu-toolchain-r-test
 | 
						|
 | 
						|
# gcc 7.0
 | 
						|
addons: &gcc7
 | 
						|
  apt:
 | 
						|
    packages:
 | 
						|
      - g++-7
 | 
						|
    sources:
 | 
						|
      - ubuntu-toolchain-r-test
 | 
						|
 | 
						|
 | 
						|
# gcc 9.0
 | 
						|
addons: &gcc9
 | 
						|
  apt:
 | 
						|
    packages:
 | 
						|
      - g++-9
 | 
						|
    sources:
 | 
						|
      - ubuntu-toolchain-r-test
 | 
						|
 | 
						|
 | 
						|
# Clang 3.5
 | 
						|
addons: &clang35
 | 
						|
  apt:
 | 
						|
    packages:
 | 
						|
      - clang-3.5
 | 
						|
    sources:
 | 
						|
      - ubuntu-toolchain-r-test
 | 
						|
      - llvm-toolchain-precise-3.5
 | 
						|
      
 | 
						|
 | 
						|
addons: &clang10
 | 
						|
  apt:
 | 
						|
    packages:
 | 
						|
      - clang-10
 | 
						|
      - lldb-10
 | 
						|
      - lld-10
 | 
						|
    sources:
 | 
						|
      - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main"
 | 
						|
        key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
 | 
						|
        
 | 
						|
addons: &clang12
 | 
						|
  apt:
 | 
						|
    packages:
 | 
						|
      - clang-12
 | 
						|
      - lldb-12
 | 
						|
      - lld-12
 | 
						|
    sources:
 | 
						|
      - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main"
 | 
						|
        key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"        
 | 
						|
 | 
						|
 | 
						|
matrix:
 | 
						|
  include:
 | 
						|
    # Test gcc-4.8: C++11, Build=Release
 | 
						|
    - env: GCC_VERSION=4.8 BUILD_TYPE=Release CPP=11
 | 
						|
      os: linux
 | 
						|
      addons: *gcc48
 | 
						|
      
 | 
						|
    # Test gcc-7: C++11, Build=Release
 | 
						|
    - env: GCC_VERSION=7 BUILD_TYPE=Release CPP=11
 | 
						|
      os: linux
 | 
						|
      addons: *gcc7
 | 
						|
      
 | 
						|
     # Test gcc-9: C++17, Build=Release
 | 
						|
    - env: GCC_VERSION=9 BUILD_TYPE=Release CPP=17
 | 
						|
      os: linux
 | 
						|
      addons: *gcc9
 | 
						|
 | 
						|
    # Test clang-3.5: C++11, Build=Release
 | 
						|
    - env: CLANG_VERSION=3.5 BUILD_TYPE=Release CPP=11
 | 
						|
      os: linux
 | 
						|
      addons: *clang35
 | 
						|
 | 
						|
    # Text osx
 | 
						|
    - env: BUILD_TYPE=Release CPP=11 ASAN=Off TSAN=Off
 | 
						|
      os: osx
 | 
						|
 | 
						|
    # Test clang-10.0: C++11, Build=Release
 | 
						|
    - env: CLANG_VERSION=10 BUILD_TYPE=Release CPP=11 ASAN=On
 | 
						|
      os: linux
 | 
						|
      dist: bionic
 | 
						|
      addons: *clang10
 | 
						|
      
 | 
						|
    # Test clang-10.0: C++17, Build=Debug
 | 
						|
    - env: CLANG_VERSION=10 BUILD_TYPE=Debug CPP=17 ASAN=Off
 | 
						|
      os: linux
 | 
						|
      dist: bionic
 | 
						|
      addons: *clang10
 | 
						|
      
 | 
						|
            
 | 
						|
    # Test clang-12.0: C++17, Build=Debug
 | 
						|
    - env: CLANG_VERSION=12 BUILD_TYPE=Debug CPP=17 ASAN=Off
 | 
						|
      os: linux
 | 
						|
      dist: bionic
 | 
						|
      addons: *clang12
 | 
						|
                        
 | 
						|
 | 
						|
before_script:
 | 
						|
  - 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
 | 
						|
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CXX="clang++" CC="clang"; fi
 | 
						|
  - which $CXX
 | 
						|
  - which $CC
 | 
						|
  - $CXX --version
 | 
						|
  - cmake --version
 | 
						|
 | 
						|
script:
 | 
						|
  - cd ${TRAVIS_BUILD_DIR}
 | 
						|
  - mkdir -p build && cd build
 | 
						|
  - |
 | 
						|
    cmake .. \
 | 
						|
      --warn-uninitialized \
 | 
						|
      -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
 | 
						|
      -DCMAKE_CXX_STANDARD=$CPP \
 | 
						|
      -DSPDLOG_BUILD_EXAMPLE=ON \
 | 
						|
      -DSPDLOG_BUILD_EXAMPLE_HO=ON \
 | 
						|
      -DSPDLOG_BUILD_WARNINGS=ON \
 | 
						|
      -DSPDLOG_BUILD_BENCH=OFF \
 | 
						|
      -DSPDLOG_BUILD_TESTS=ON \
 | 
						|
      -DSPDLOG_BUILD_TESTS_HO=OFF \
 | 
						|
      -DSPDLOG_SANITIZE_ADDRESS=$ASAN 
 | 
						|
      
 | 
						|
  - make VERBOSE=1 -j2
 | 
						|
  - ctest -j2 --output-on-failure
 | 
						|
  
 |