summaryrefslogtreecommitdiffstats
path: root/Tests/CTestCoverageCollectGCOV/fakegcov.cmake
blob: 6df429256b2cbb038222345827e08865ce651ce8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function(create_gcov_file gcda_full_path)
  get_filename_component(gcda_name ${gcda_full_path} NAME)
  string(REPLACE ".gcda" ".gcov" gcov_name "${gcda_name}")

  file(STRINGS "${gcda_full_path}" source_file LIMIT_COUNT 1 ENCODING UTF-8)

  file(WRITE "${CMAKE_SOURCE_DIR}/${gcov_name}"
    "        -:    0:Source:${source_file}"
  )
endfunction()

foreach(I RANGE 0 ${CMAKE_ARGC})
  if("${CMAKE_ARGV${I}}" MATCHES ".*\\.gcda")
    set(gcda_file "${CMAKE_ARGV${I}}")
    create_gcov_file(${gcda_file})
  endif()
endforeach()