summaryrefslogtreecommitdiff
path: root/mkspecs
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2018-02-06 15:44:52 +0100
committerRobert Griebl <robert.griebl@pelagicore.com>2018-02-07 13:08:01 +0000
commit7d9598740374db338687b9c3d2d6fb7d89b6ae67 (patch)
tree8d053a9ca3c0304b8c9ffb82c116866e09642723 /mkspecs
parent0448ec8f0cb3fb52d41e156c2ec15fcff225d2f9 (diff)
downloadqtivi-7d9598740374db338687b9c3d2d6fb7d89b6ae67.tar.gz
Add a easy way to do a test-coverage run
This is inspired by QtApplicationManagers version, but adapted for qtivi and it's autogeneration. Change-Id: I8880e277646f66b976787739e56206044577560a Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/ivi-coverage.prf18
1 files changed, 18 insertions, 0 deletions
diff --git a/mkspecs/features/ivi-coverage.prf b/mkspecs/features/ivi-coverage.prf
new file mode 100644
index 0000000..b642b4a
--- /dev/null
+++ b/mkspecs/features/ivi-coverage.prf
@@ -0,0 +1,18 @@
+# generate code coverage information using gcov/lcov/genhtml
+CONFIG(debug,debug|release) {
+ equals(TEMPLATE, "subdirs") {
+ sub-coverage.target = coverage
+ sub-coverage.CONFIG = recursive
+ QMAKE_EXTRA_TARGETS += sub-coverage
+ } else {
+ coverage_pre.commands += @echo && echo "Building with coverage support..." && echo $(eval CXXFLAGS += -O0 -fprofile-arcs -ftest-coverage)$(eval LFLAGS += -O0 -fprofile-arcs -ftest-coverage)
+
+ coverage.CONFIG += recursive
+ coverage.commands = @echo && echo "Finished building with coverage support." && echo
+ build_pass|!debug_and_release:coverage.depends = coverage_pre all
+
+ QMAKE_EXTRA_TARGETS *= coverage_pre coverage
+ }
+}
+
+QMAKE_CLEAN += $(OBJECTS_DIR)/*.gcda $(OBJECTS_DIR)/*.gcno $(TARGET).gcov-info