From 3dc4319e08d8b5eef2225037183e41d4fc69c855 Mon Sep 17 00:00:00 2001 From: Steffen Schuemann Date: Sun, 19 May 2019 12:06:04 +0200 Subject: [PATCH] Work on better CI integration. --- .travis.yml | 33 ++++++++++++++++++++------------- test/CMakeLists.txt | 3 +-- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 41d04e2..631c599 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,36 +8,39 @@ sudo: false matrix: fast_finish: true include: - - env: MATRIX_EVAL="CC=gcc-5 && CXX=g++-5 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=gcc-5 && CXX=g++-5 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["g++-5"], sources: ["ubuntu-toolchain-r-test"] } } - - env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } } - - env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } } - - env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["g++-8"], sources: ["ubuntu-toolchain-r-test"] } } - - env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8 && GENERATOR='Unix Makefiles' && CONFIG=Debug && GHC_COVERAGE=1" + addons: { apt: { packages: ["g++-8"], sources: ["ubuntu-toolchain-r-test"] } } + + - env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["clang-5.0"] } } - - env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["clang-6.0"] } } - - env: MATRIX_EVAL="CC=clang-7 && CXX=clang++-7 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=clang-7 && CXX=clang++-7 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["clang-7", "libc++-7-dev", "libc++abi-7-dev"], sources: ["llvm-toolchain-xenial-7"] } } - - env: MATRIX_EVAL="CC=clang-8 && CXX=clang++-8 && GENERATOR='Unix Makefiles'" + - env: MATRIX_EVAL="CC=clang-8 && CXX=clang++-8 && GENERATOR='Unix Makefiles' && CONFIG=Release" addons: { apt: { packages: ["clang-8", "libc++-8-dev", "libc++abi-8-dev"], sources: ["llvm-toolchain-xenial-8"] } } - os: osx - env: MATRIX_EVAL="CC=clang && CXX=clang++ && GENERATOR=Xcode" + env: MATRIX_EVAL="CC=clang && CXX=clang++ && GENERATOR=Xcode && CONFIG=Release" osx_image: xcode9.2 - os: osx - env: MATRIX_EVAL="CC=clang && CXX=clang++ && GENERATOR=Xcode" + env: MATRIX_EVAL="CC=clang && CXX=clang++ && GENERATOR=Xcode && CONFIG=Release" osx_image: xcode10.2 install: @@ -47,6 +50,7 @@ install: brew update brew upgrade cmake fi + - pip install --user cpp-coveralls - $CC --version - $CXX --version - cmake --version @@ -55,10 +59,13 @@ before_script: - mkdir build - cd build - export VERBOSE=1 - - cmake -G"${GENERATOR}" -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_C_COMPILER=${CC} .. + - cmake -G"${GENERATOR}" -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_C_COMPILER=${CC} -DCMAKE_BUILD_TYPE=${CONFIG} .. script: - export VERBOSE=1 - - cmake --build . --config Release - - ctest -C Release -E Windows + - cmake --build . --config ${CONFIG} + - ctest -C ${CONFIG} -E Windows +after_success: + - coveralls --root . -E ".*CMakeFiles.*" + diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bdc182c..a4964ef 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,8 +12,7 @@ target_compile_options(filesystem_test PRIVATE if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) target_compile_definitions(filesystem_test PRIVATE _CRT_SECURE_NO_WARNINGS) endif() -if(CMAKE_GENERATOR STREQUAL Xcode) - add_executable(filesystem_test_cov filesystem_test.cpp catch.hpp) +if(DEFINED ENV{GHC_COVERAGE}) target_compile_options(filesystem_test_cov PRIVATE "$<$:--coverage>") target_link_libraries(filesystem_test_cov PUBLIC ghc_filesystem PRIVATE --coverage) endif()