lzw-assignment/.travis.yml

74 lines
1.7 KiB
YAML
Raw Normal View History

2018-05-03 10:04:43 +00:00
sudo: false
2018-04-06 02:15:11 +00:00
language: cpp
2018-05-03 10:04:43 +00:00
compiler: clang
2018-05-03 09:55:53 +00:00
os: linux
dist: trusty
2018-05-03 10:12:15 +00:00
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
packages:
2018-05-03 10:29:37 +00:00
- g++-7
2018-05-03 10:12:15 +00:00
- clang-5.0
2018-05-23 14:27:13 +00:00
- lcov
2018-04-08 13:13:40 +00:00
matrix:
2018-05-03 10:04:43 +00:00
include:
2018-05-03 10:20:17 +00:00
# Linux Clang C++17
2018-05-03 10:12:15 +00:00
- env:
BUILD_TYPE=Debug
BIN_DIR=debug
CC=clang-5.0
CXX=clang++-5.0
- env:
BUILD_TYPE=Release
BIN_DIR=bin
CC=clang-5.0
CXX=clang++-5.0
2018-05-03 10:20:17 +00:00
# Linux GCC C++17
- env:
2018-05-03 10:40:56 +00:00
- MATRIX_EVAL="BUILD_TYPE=Debug && BIN_DIR=debug && CC=gcc-7 && CXX=g++-7"
2018-05-03 10:20:17 +00:00
compiler: gcc
2018-05-03 10:40:56 +00:00
before_install:
- eval "${MATRIX_EVAL}"
2018-05-03 10:20:17 +00:00
- env:
2018-05-03 10:40:56 +00:00
- MATRIX_EVAL="BUILD_TYPE=Release && BIN_DIR=bin && CC=gcc-7 && CXX=g++-7"
2018-05-03 10:20:17 +00:00
compiler: gcc
2018-05-03 10:40:56 +00:00
before_install:
- eval "${MATRIX_EVAL}"
2018-05-03 10:48:18 +00:00
# OSX Clang
- os: osx
2018-05-03 11:13:59 +00:00
osx_image: xcode9.3
2018-05-03 10:48:18 +00:00
env:
BUILD_TYPE=Release
BIN_DIR=bin
2018-05-03 11:03:09 +00:00
before_install:
brew update
2018-05-03 10:51:28 +00:00
install:
2018-05-23 14:27:13 +00:00
- brew upgrade cmake
- brew install lcov
2018-05-03 10:48:18 +00:00
- os: osx
2018-05-03 11:13:59 +00:00
osx_image: xcode9.3
2018-05-03 10:48:18 +00:00
env:
BUILD_TYPE=Debug
BIN_DIR=debug
2018-05-03 11:03:09 +00:00
before_install:
brew update
2018-05-03 10:51:28 +00:00
install:
2018-05-23 14:27:13 +00:00
- brew install lcov
- brew upgrade cmake
2018-05-03 10:12:15 +00:00
script:
- cd build
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE ..
- make -j
2018-05-23 14:27:13 +00:00
after_success:
- cd ${TRAVIS_BUILD_DIR}
- lcov --directory . --capture --output-file coverage.info # capture coverage info
- lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system
- lcov --list coverage.info
- bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"