56
56
OUTPUT ${OUTPUT_FILE} .base
57
57
COMMENT "Generating code coverage base file"
58
58
COMMAND
59
- ${LCOV} --capture --initial # Initial run
59
+ ${LCOV} --rc lcov_branch_coverage=1 -- capture --initial # Initial run
60
60
--no -external # Do not include external source files
61
61
--base-directory ${CMAKE_SOURCE_DIR} --directory ${CMAKE_BINARY_DIR}
62
62
--output -file ${OUTPUT_FILE} .base --gcov-tool
@@ -74,9 +74,10 @@ else()
74
74
OUTPUT ${OUTPUT_FILE} .test
75
75
COMMENT "Generating code coverage test file"
76
76
COMMAND
77
- ${LCOV} --capture --no -external --base-directory ${CMAKE_SOURCE_DIR}
78
- --directory ${CMAKE_BINARY_DIR} --output -file ${OUTPUT_FILE} .test
79
- --gcov-tool ${CMAKE_CURRENT_BINARY_DIR} /gcov
77
+ ${LCOV} --rc lcov_branch_coverage=1 --capture --no -external
78
+ --base-directory ${CMAKE_SOURCE_DIR} --directory ${CMAKE_BINARY_DIR}
79
+ --output -file ${OUTPUT_FILE} .test --gcov-tool
80
+ ${CMAKE_CURRENT_BINARY_DIR} /gcov
80
81
DEPENDS ${OUTPUT_FILE} .base coverage_base)
81
82
82
83
# Make sure coverage_test runs after tests (installcheck) finish
89
90
OUTPUT ${OUTPUT_FILE}
90
91
COMMENT "Generating final code coverage file"
91
92
COMMAND
92
- ${LCOV} --add-tracefile ${OUTPUT_FILE} .base --add-tracefile
93
- ${OUTPUT_FILE} .test --output -file ${OUTPUT_FILE} --gcov-tool
94
- ${CMAKE_CURRENT_BINARY_DIR} /gcov
93
+ ${LCOV} --rc lcov_branch_coverage=1 -- add-tracefile ${OUTPUT_FILE} .base
94
+ --add-tracefile ${OUTPUT_FILE} .test --output -file ${OUTPUT_FILE}
95
+ --gcov-tool ${CMAKE_CURRENT_BINARY_DIR} /gcov
95
96
DEPENDS ${OUTPUT_FILE} .test coverage_test)
96
97
97
98
add_custom_target (coverage_final DEPENDS ${OUTPUT_FILE} )
@@ -114,8 +115,9 @@ else()
114
115
COMMENT
115
116
"Generating HTML code coverage report in ${CMAKE_CURRENT_BINARY_DIR} /${REPORT_DIR} "
116
117
COMMAND
117
- ${GENHTML} --prefix ${CMAKE_SOURCE_DIR} --ignore -errors source --legend
118
- --title "TimescaleDB" --output -directory ${REPORT_DIR} ${OUTPUT_FILE}
118
+ ${GENHTML} --prefix ${CMAKE_SOURCE_DIR} --branch-coverage
119
+ --ignore -errors source --legend --title "TimescaleDB" --output -directory
120
+ ${REPORT_DIR} ${OUTPUT_FILE}
119
121
DEPENDS ${OUTPUT_FILE} )
120
122
add_custom_target (coverage DEPENDS ${REPORT_DIR} /index.html)
121
123
add_dependencies (coverage coverage_final)
0 commit comments