Skip to content

Commit 740926a

Browse files
committed
Add WIN32 variant of ccov-all-export
Fixes ccov-all-export on Windows platform with an if/else split.
1 parent 135a478 commit 740926a

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

Diff for: code-coverage.cmake

+22-9
Original file line numberDiff line numberDiff line change
@@ -595,15 +595,28 @@ function(add_code_coverage_all_targets)
595595

596596
# Export coverage information so continuous integration tools (e.g.
597597
# Jenkins) can consume it
598-
add_custom_target(
599-
ccov-all-export
600-
COMMAND
601-
${LLVM_COV_PATH} export `cat
602-
${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list`
603-
-instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata
604-
-format="text" ${EXCLUDE_REGEX} >
605-
${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/coverage.json
606-
DEPENDS ccov-all-processing)
598+
if(WIN32)
599+
add_custom_target(
600+
ccov-all-export
601+
COMMAND
602+
powershell -Command $$FILELIST = Get-Content
603+
${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list\; llvm-cov.exe
604+
export $$FILELIST
605+
-instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata
606+
-format="text" ${EXCLUDE_REGEX} >
607+
${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/coverage.json
608+
DEPENDS ccov-all-processing)
609+
else()
610+
add_custom_target(
611+
ccov-all-export
612+
COMMAND
613+
${LLVM_COV_PATH} export `cat
614+
${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list`
615+
-instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata
616+
-format="text" ${EXCLUDE_REGEX} >
617+
${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/coverage.json
618+
DEPENDS ccov-all-processing)
619+
endif()
607620

608621
# Generate HTML output of all added targets for perusal
609622
if(WIN32)

0 commit comments

Comments
 (0)