From 5914a29f0c2090be9950289213d13589c5b0176b Mon Sep 17 00:00:00 2001 From: Cyrus Harrison Date: Fri, 1 Apr 2016 20:25:51 -0700 Subject: [PATCH] coverage: first stab at coveralls support --- .travis.yml | 5 +++++ src/CMake/CMakeBasics.cmake | 10 ++++++++++ src/CMakeLists.txt | 1 + 3 files changed, 16 insertions(+) diff --git a/.travis.yml b/.travis.yml index 95e2dcfb0..a8dd83198 100644 --- a/.travis.yml +++ b/.travis.yml @@ -75,6 +75,7 @@ before_install: install: - sh cmake-3.3.0-Linux-x86_64.sh --skip-license --prefix=${TRAVIS_HOME}/cmake/ - conda install --yes python=2.7 numpy + - pip install cpp-coveralls script: - cmake --version - cd $TRAVIS_BUILD_DIR @@ -93,12 +94,16 @@ script: - CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_FORTRAN=ON" # enable python support - CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_PYTHON=ON" + # enable coverage + - CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_COVERAGE=ON" # configure with cmake - cmake ${CMAKE_OPTS} ../src # build, test, and install - make - make test - make install +after_success: + coveralls --include src/libs/conduit --gcov-options '\-lp' --root $TRAVIS_BUILD_DIR --build-root $TRAVIS_BUILD_DIR/travis-debug-build; notifications: email: recipients: diff --git a/src/CMake/CMakeBasics.cmake b/src/CMake/CMakeBasics.cmake index 1b497cea7..1dc16d9c1 100644 --- a/src/CMake/CMakeBasics.cmake +++ b/src/CMake/CMakeBasics.cmake @@ -82,6 +82,16 @@ else() message(STATUS "Building static libraries (BUILD_SHARED_LIBS == OFF)") endif() +################################ +# Coverage Flags +################################ +if(ENABLE_COVERAGE) + message(STATUS "Building using coverage flags (ENABLE_COVERAGE == ON)") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") +else() + message(STATUS "Building without coverage flags (ENABLE_COVERAGE == OFF)") +endif() ################################ # RPath Settings diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 29f0ba2c9..0cf01824f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -61,6 +61,7 @@ project(conduit) option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(ENABLE_TESTS "Build conduit tests" ON) option(ENABLE_GPREF_TOOLS "Build with google perftools" OFF) +option(ENABLE_COVERAGE "Build with coverage flags" OFF) option(ENABLE_PYTHON "Build Python Support" OFF) option(ENABLE_FORTRAN "Build Fortran support" OFF)