foreach(I RANGE 0 ${CMAKE_ARGC}) if("${CMAKE_ARGV${I}}" MATCHES ".*\\.gcda") set(gcda_file "${CMAKE_ARGV${I}}") endif() endforeach() get_filename_component(gcda_name ${gcda_file} NAME) string(REPLACE ".gcda" ".gcov" gcov_name "${gcda_name}") file(STRINGS "${gcda_file}" source_file LIMIT_COUNT 1 ENCODING UTF-8) file(WRITE "${CMAKE_SOURCE_DIR}/${gcov_name}" " -: 0:Source:${source_file}" )