compile with absolute paths to allow lcov use
authorDavid Kalnischkies <david@kalnischkies.de>
Sun, 13 Apr 2014 19:40:35 +0000 (21:40 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Sun, 13 Apr 2014 20:12:01 +0000 (22:12 +0200)
commitcbc9ec23b0fb551f20f4fd8ca46d98f59b5666bc
tree001a279cf2a604793da3603d3c3017418b8d0d8a
parent23fc5ecaa01bc41d582640dd5950be73987a8b4b
compile with absolute paths to allow lcov use

Instructing gcc (or clang) to prepare for capturing coverage data is
easy: Just build with: CXXFLAGS=--coverage

The hard part is that our buildsystem uses relative paths and so
confuses the hell out of lcov as it assumes this way that all our *.cc
files are in the same directory… by changing to absolute paths in the
compile rules we solve this problem.

Still not perfect as it refers to build/include files for most headers
and our forking/threading code isn't properly captured, but good enough
to see red reports for now:

CXXFLAGS=--coverage make
make test
./test/integration/run-tests -q
lcov --no-external --directory . --capture --output-file apt.info
genhtml --output-directory ./coverage/ apt.info

Git-Dch: Ignore
buildlib/library.mak
buildlib/program.mak
buildlib/python.mak
buildlib/staticlibrary.mak