Отчет о покрытии, когда источник и объекты находятся в разных каталогах
Я пытаюсь создать отчет о покрытии для моего проекта и столкнулся с проблемой.
Я понимаю, что для получения информации о покрытии мне нужны.gcno, .gcda и исходные файлы. Моя текущая структура каталога проекта
/root/proj/src --> top level Makefile and main.c
/root/proj/src/module1
/root/proj/src/module2
..... -> contains all .c/.h ,makefile
/root/proj/build/obj -> contains all .o,.gcno,.gcda files after compilation
/root/proj/build/exe -> contains the executable
(копирование минимальных строк ниже, чтобы показать проблему)
cd /root/proj/build/obj
когда я бегу
lcov -b ../../src/ --directory . --capture --output-file app.info
Processing module1.gcda
module1.c:cannot open source file
......
Finished .info-file creation
Затем:
genhtml --legend -o ./latest_code_cov/ app.info
Reading data file app.info
Found 5 entries.
Found common filename prefix "/root/proj/src"
Writing .css and .png files.
Generating output.
Processing file src/module1.c
genhtml: ERROR: cannot read /root/proj/src/module1.c
bash-4.1$
1) Нужно ли мне поменять мой make-файл на дамп .gcno/.gcda
файлы в тех же папках, что и исходный?
2) Есть ли способ (некоторый флаг), чтобы установить путь к исходному файлу в .gcno/.gcda
файлы?
Какие-либо предложения?
gcc версия 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
lcov: LCOV версия 1.13