@@ -291,7 +291,7 @@ endfunction()
291291
292292#==============================================================================
293293
294- function (_yup_setup_coverage_targets modules_list)
294+ function (_yup_setup_coverage_targets test_target_name modules_list)
295295 if (YUP_ENABLE_COVERAGE AND (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" ))
296296 find_program (LCOV_PATH lcov)
297297 find_program (GENHTML_PATH genhtml)
@@ -316,16 +316,26 @@ function (_yup_setup_coverage_targets modules_list)
316316
317317 add_custom_target (coverage_${module_name}
318318 COMMAND ${CMAKE_COMMAND} -E echo "Generating coverage for ${module_name} "
319- COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --capture --output -file ${module_coverage_dir} /coverage.info --ignore -errors mismatch,gcov,source ,negative
320- COMMAND ${LCOV_PATH} --extract ${module_coverage_dir} /coverage.info "*/modules/${module_name} /*" --output -file ${module_coverage_dir} /coverage_filtered.info --ignore -errors mismatch,gcov,source ,negative
321- COMMAND ${LCOV_PATH} --remove ${module_coverage_dir} /coverage_filtered.info "*/thirdparty/*" "*/build/*" "*/tests/*" --output -file ${module_coverage_dir} /coverage_final.info --ignore -errors mismatch,gcov,source ,negative
319+ COMMAND ${LCOV_PATH}
320+ --directory ${CMAKE_BINARY_DIR} --capture
321+ --output -file ${module_coverage_dir} /coverage.info
322+ --ignore -errors mismatch,gcov,source ,negative
323+ COMMAND ${LCOV_PATH}
324+ --extract ${module_coverage_dir} /coverage.info "*/modules/${module_name} /*"
325+ --output -file ${module_coverage_dir} /coverage_filtered.info
326+ --ignore -errors mismatch,gcov,source ,negative
327+ COMMAND ${LCOV_PATH}
328+ --remove ${module_coverage_dir} /coverage_filtered.info "*/thirdparty/*" "*/build/*" "*/tests/*" "*/examples/*"
329+ --output -file ${module_coverage_dir} /coverage_final.info
330+ --ignore -errors mismatch,gcov,source ,negative
322331 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
323- DEPENDS yup_tests
332+ DEPENDS ${test_target_name}
324333 COMMENT "Processing coverage data for ${module_name} " )
325334
326335 if (GENHTML_PATH)
327336 add_custom_target (coverage_html_${module_name}
328- COMMAND ${GENHTML_PATH} ${module_coverage_dir} /coverage_final.info --output -directory ${module_coverage_dir} /html
337+ COMMAND ${GENHTML_PATH}
338+ ${module_coverage_dir} /coverage_final.info --output -directory ${module_coverage_dir} /html
329339 DEPENDS coverage_${module_name}
330340 COMMENT "Generating HTML coverage report for ${module_name} " )
331341 endif ()
@@ -334,15 +344,22 @@ function (_yup_setup_coverage_targets modules_list)
334344 # Combined coverage target
335345 add_custom_target (coverage_all
336346 COMMAND ${CMAKE_COMMAND} -E echo "Generating combined coverage report"
337- COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --capture --output -file ${CMAKE_BINARY_DIR} /coverage/coverage.info --ignore -errors mismatch,gcov,source ,negative
338- COMMAND ${LCOV_PATH} --remove ${CMAKE_BINARY_DIR} /coverage/coverage.info "*/thirdparty/*" "*/build/*" "*/tests/*" "*/examples/*" --output -file ${CMAKE_BINARY_DIR} /coverage/coverage_final.info --ignore -errors mismatch,gcov,source ,negative
347+ COMMAND ${LCOV_PATH}
348+ --directory ${CMAKE_BINARY_DIR} --capture
349+ --output -file ${CMAKE_BINARY_DIR} /coverage/coverage.info
350+ --ignore -errors mismatch,gcov,source ,negative
351+ COMMAND ${LCOV_PATH}
352+ --remove ${CMAKE_BINARY_DIR} /coverage/coverage.info "*/thirdparty/*" "*/build/*" "*/tests/*" "*/examples/*"
353+ --output -file ${CMAKE_BINARY_DIR} /coverage/coverage_final.info
354+ --ignore -errors mismatch,gcov,source ,negative
339355 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
340- DEPENDS yup_tests
356+ DEPENDS ${test_target_name}
341357 COMMENT "Processing combined coverage data" )
342358
343359 if (GENHTML_PATH)
344360 add_custom_target (coverage_html_all
345- COMMAND ${GENHTML_PATH} ${CMAKE_BINARY_DIR} /coverage/coverage_final.info --output -directory ${CMAKE_BINARY_DIR} /coverage/html
361+ COMMAND ${GENHTML_PATH}
362+ ${CMAKE_BINARY_DIR} /coverage/coverage_final.info --output -directory ${CMAKE_BINARY_DIR} /coverage/html
346363 DEPENDS coverage_all
347364 COMMENT "Generating combined HTML coverage report" )
348365 endif ()
0 commit comments