From 7e05d9be3166aa405ab3684561a5b9854ce4e659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Sat, 27 Feb 2016 02:18:15 +0100 Subject: [PATCH] update coverage --- guh.pri | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/guh.pri b/guh.pri index dfac576b..526f8988 100644 --- a/guh.pri +++ b/guh.pri @@ -22,11 +22,55 @@ equals(QT_MAJOR_VERSION, 5):greaterThan(QT_MINOR_VERSION, 3) { # Enable coverage option coverage { - QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0 + OBJECTS_DIR = + MOC_DIR = + TOP_SRC_DIR = $$PWD + LIBS += -lgcov - QMAKE_LFLAGS += -fprofile-arcs + QMAKE_CXXFLAGS += --coverage + QMAKE_LDFLAGS += --coverage + + QMAKE_EXTRA_TARGETS += coverage cov + QMAKE_EXTRA_TARGETS += clean-gcno clean-gcda coverage-html \ + generate-coverage-html clean-coverage-html coverage-gcovr \ + generate-gcovr generate-coverage-gcovr clean-coverage-gcovr + + clean-gcno.commands = \ + "@echo Removing old coverage instrumentation"; \ + "find -name '*.gcno' -print | xargs -r rm" + + clean-gcda.commands = \ + "@echo Removing old coverage results"; \ + "find -name '*.gcda' -print | xargs -r rm" + + coverage-html.depends = clean-gcda check generate-coverage-html + + generate-coverage-html.commands = \ + "@echo Collecting coverage data"; \ + "lcov --directory $${TOP_SRC_DIR} --capture --output-file coverage.info --no-checksum --compat-libtool"; \ + "lcov --extract coverage.info \"*/server/*.cpp\" --extract coverage.info \"*/libguh/*.cpp\" -o coverage.info"; \ + "lcov --remove coverage.info \"moc_*.cpp\" --remove coverage.info \"*/test/*\" -o coverage.info"; \ + "LANG=C genhtml --prefix $${TOP_SRC_DIR} --output-directory coverage-html --title \"Code Coverage\" --legend --show-details coverage.info" + + clean-coverage-html.depends = clean-gcda + clean-coverage-html.commands = \ + "lcov --directory $${TOP_SRC_DIR} -z"; \ + "rm -rf coverage.info coverage-html" + + coverage-gcovr.depends = clean-gcda check generate-coverage-gcovr + + generate-coverage-gcovr.commands = \ + "@echo Generating coverage GCOVR report"; \ + "gcovr -x -r $${TOP_SRC_DIR} -o $${TOP_SRC_DIR}/coverage.xml -e \".*/moc_.*\" -e \"tests/.*\" -e \".*\\.h\"" + + clean-coverage-gcovr.depends = clean-gcda + clean-coverage-gcovr.commands = \ + "rm -rf $${TOP_SRC_DIR}/coverage.xml" + + QMAKE_CLEAN += *.gcda *.gcno coverage.info coverage.xml } + # Enable Radio 433 MHz for GPIO's enable433gpio { DEFINES += GPIO433