Merge lp:~jpakkane/libcolumbus/coverage into lp:libcolumbus

Proposed by Jussi Pakkanen
Status: Merged
Approved by: Mathieu Trudel-Lapierre
Approved revision: 441
Merged at revision: 440
Proposed branch: lp:~jpakkane/libcolumbus/coverage
Merge into: lp:libcolumbus
Diff against target: 50 lines (+35/-0)
2 files modified
CMakeLists.txt (+1/-0)
cmake/coverage.cmake (+34/-0)
To merge this branch: bzr merge lp:~jpakkane/libcolumbus/coverage
Reviewer Review Type Date Requested Status
Mathieu Trudel-Lapierre Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+148742@code.launchpad.net

Commit message

Add coverage targets.

Description of the change

Add coverage targets.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

If jenkins is happy, I'm happy.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2013-02-08 09:20:49 +0000
3+++ CMakeLists.txt 2013-02-15 15:34:25 +0000
4@@ -19,6 +19,7 @@
5 include(FindPkgConfig)
6 include(cmake/pch.cmake)
7 include(cmake/python.cmake)
8+include(cmake/coverage.cmake)
9
10 if(${full_warnings})
11 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic")
12
13=== added file 'cmake/coverage.cmake'
14--- cmake/coverage.cmake 1970-01-01 00:00:00 +0000
15+++ cmake/coverage.cmake 2013-02-15 15:34:25 +0000
16@@ -0,0 +1,34 @@
17+if (CMAKE_BUILD_TYPE MATCHES coverage)
18+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
19+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage")
20+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} --coverage")
21+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage")
22+
23+ find_program(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin")
24+ if (NOT GCOVR_EXECUTABLE)
25+ message(STATUS "Gcovr binary was not found, can not generate XML coverage info.")
26+ else ()
27+ message(STATUS "Gcovr found, can generate XML coverage info.")
28+ add_custom_target (coverage-xml
29+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
30+ COMMAND "${GCOVR_EXECUTABLE}" --exclude="test.*" -x -r "${CMAKE_SOURCE_DIR}"
31+ --object-directory=${CMAKE_BINARY_DIR} -o coverage.xml)
32+ endif()
33+
34+ find_program(LCOV_EXECUTABLE lcov HINTS ${LCOV_ROOT} "${GCOVR_ROOT}/bin")
35+ find_program(GENHTML_EXECUTABLE genhtml HINTS ${GENHTML_ROOT})
36+ if (NOT LCOV_EXECUTABLE)
37+ message(STATUS "Lcov binary was not found, can not generate HTML coverage info.")
38+ else ()
39+ if(NOT GENHTML_EXECUTABLE)
40+ message(STATUS "Genthml binary not found, can not generate HTML coverage info.")
41+ else()
42+ message(STATUS "Lcov and genhtml found, can generate HTML coverage info.")
43+ add_custom_target (coverage-html
44+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
45+ COMMAND "${LCOV_EXECUTABLE}" --directory ${CMAKE_BINARY_DIR} --capture --output-file coverage.info --no-checksum
46+ COMMAND "${GENHTML_EXECUTABLE}" --prefix ${CMAKE_BINARY_DIR} --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
47+ )
48+ endif()
49+ endif()
50+endif()

Subscribers

People subscribed via source and target branches

to all changes: