113 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.5 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 4.8
 | |
| 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
 | |
| 
 | |
| # Clang 3.5
 | |
| addons: &clang35
 | |
|   apt:
 | |
|     packages:
 | |
|       - clang-3.5
 | |
|     sources:
 | |
|       - ubuntu-toolchain-r-test
 | |
|       - llvm-toolchain-precise-3.5
 | |
|       
 | |
| # Clang 7.0
 | |
| addons: &clang70
 | |
|   apt:
 | |
|     packages:
 | |
|       - clang-7      
 | |
|     sources:
 | |
|       - ubuntu-toolchain-r-test
 | |
|       - llvm-toolchain-trusty-7
 | |
| 
 | |
| 
 | |
| 
 | |
| 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
 | |
| 
 | |
|     - 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 clang-7.0: C++11, Build=Debug, ASAN=On
 | |
|     - env: CLANG_VERSION=7 BUILD_TYPE=Debug CPP=11 ASAN=On TSAN=Off
 | |
|       dist: bionic      
 | |
| 
 | |
|     - env: CLANG_VERSION=7 BUILD_TYPE=Release CPP=11 ASAN=On TSAN=Off
 | |
|       dist: bionic
 | |
|       
 | |
|       # osx
 | |
|     - env: BUILD_TYPE=Release CPP=11 ASAN=Off TSAN=Off
 | |
|       os: osx
 | |
| 
 | |
| 
 | |
| 
 | |
| 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_ENABLE_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
 | |
| 
 | |
| 
 | |
| 
 | |
| notifications:
 | |
|   email: false
 |