CMake, кажется, помещает файлы покрытия кода (* .gcda, * .gcdo) в объектные файлы вашего проекта. Если ваш исполняемый файл был назван «тестер», он будет отображаться по следующему пути
${CMAKE_BINARY_DIR}/CMakeFiles/tester.dir/
Похоже, что CMake называет исходные файлы способом, который не очень совместим с gcov. Например, если бы у меня был исходный файл с именем «mytestprog.cpp», это была бы сборка
mytestprog.cpp.o
mytestprog.cpp.gcda
mytestprog.cpp.gcdno
где, как кажется, gcov
mytestprog.gcda
mytestprog.gcdno
Я не совсем уверен, как это исправить. Вместо этого я попытался использовать LCov, и это «показалось» сработало, но я не совсем уверен, что это так.