diff --git a/.travis.yml b/.travis.yml index 1700f129..28b6d137 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,6 +42,34 @@ matrix: - g++-7 env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True" + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + env: + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="False" LOGGER="True" Profiler="True" + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + env: + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="False" LOGGER="True" Profiler="True" + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + - lcov + env: + - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="False" CODE_COVERAGE="True" # ----- OS X / GCC ----- - os: osx @@ -60,6 +88,14 @@ matrix: osx_image: xcode8 env: - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True" + - os: osx + osx_image: xcode8 + env: + - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" LOGGER="True" PROFILER="True" + - os: osx + osx_image: xcode8 + env: + - MATRIX_EVAL="brew update && brew install gcc && CC=gcc-7 && CXX=g++-7" BUILD_TYPE="Release" DOUBLE_PRECISION="True" LOGGER="True" PROFILER="True" # ----- Linux / Clang ----- - os: linux @@ -109,6 +145,28 @@ matrix: - g++-7 env: - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True" + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + - g++-7 + env: + - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Debug" DOUBLE_PRECISION="True" LOGGER="True" PROFILER="True" + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + - g++-7 + env: + - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" BUILD_TYPE="Release" DOUBLE_PRECISION="True" LOGGER="True" PROFILER="True" # ----- OS X / Clang ----- - os: osx @@ -131,6 +189,16 @@ matrix: env: - BUILD_TYPE="Release" DOUBLE_PRECISION="True" + - os: osx + osx_image: xcode8 + env: + - BUILD_TYPE="Debug" DOUBLE_PRECISION="True" LOGGER="True" PROFILER="True" + + - os: osx + osx_image: xcode8 + env: + - BUILD_TYPE="Release" DOUBLE_PRECISION="True" LOGGER="True" PROFILER="True" + before_install: - eval "${MATRIX_EVAL}" @@ -142,5 +210,16 @@ branches: script: - mkdir build_directory - cd build_directory - - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} —DDOUBLE_PRECISION_ENABLED=${DOUBLE_PRECISION} -DCOMPILE_TESTS=True ../ + - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} —DDOUBLE_PRECISION_ENABLED=${DOUBLE_PRECISION} -DCOMPILE_TESTS=True -DLOGS_ENABLE=${LOGGER} -DPROFILING_ENABLED=${PROFILER} ../ - make && make test ARGS="-V" + +after_success: + + # Generate code coverage report + - cd build_directory + - lcov --directory . --capture --output-file coverage.info + - lcov --remove coverage.info '/usr/*' --output-file coverage.info + - lcov --list coverage.info + + # Uploading code coverage report to CodeCov + - bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"