16
16
# 3) make coverage-html or make coverage-xml
17
17
# --------------------------------
25
QMAKE_CXXFLAGS += --coverage
26
QMAKE_LDFLAGS += --coverage
28
QMAKE_EXTRA_TARGETS += coverage cov
29
QMAKE_EXTRA_TARGETS += clean-gcno clean-gcda coverage-html \
30
generate-coverage-html clean-coverage-html coverage-xml \
31
generate-xml generate-coverage-xml clean-coverage-xml
33
clean-gcno.commands = \
34
"@echo Removing old coverage instrumentation"; \
35
"find -name '*.gcno' -print | xargs -r rm"
37
clean-gcda.commands = \
38
"@echo Removing old coverage results"; \
39
"find -name '*.gcda' -print | xargs -r rm"
41
coverage-html.depends = clean-gcda check generate-coverage-html
43
generate-coverage-html.commands = \
44
"@echo Collecting coverage data"; \
45
"lcov --directory $${TOP_SRC_DIR} --capture --output-file coverage.info --no-checksum --compat-libtool"; \
46
"lcov --extract coverage.info \"*/modules/*.cpp\" -o coverage.info"; \
47
"lcov --remove coverage.info \"moc_*.cpp\" -o coverage.info"; \
48
"LANG=C genhtml --prefix $${TOP_SRC_DIR} --output-directory coverage-html --title \"Code Coverage\" --legend --show-details coverage.info"
50
clean-coverage-html.depends = clean-gcda
51
clean-coverage-html.commands = \
52
"lcov --directory $${TOP_SRC_DIR} -z"; \
53
"rm -rf coverage.info coverage-html"
55
coverage-xml.depends = clean-gcda check generate-coverage-xml
57
generate-coverage-xml.commands = \
58
"@echo Generating coverage GCOVR XML report"; \
59
"gcovr -x -r $${TOP_SRC_DIR} -o $${TOP_SRC_DIR}/coverage.xml -e \".*/moc_.*\" -e \"unit/.*\" -e \".*\\.h\""
61
clean-coverage-xml.depends = clean-gcda
62
clean-coverage-xml.commands = \
63
"rm -rf $${TOP_SRC_DIR}/coverage.xml"
65
QMAKE_CLEAN += *.gcda *.gcno coverage.info coverage.xml
24
QMAKE_CXXFLAGS += --coverage
25
QMAKE_LDFLAGS += --coverage
27
QMAKE_EXTRA_TARGETS += coverage cov
28
QMAKE_EXTRA_TARGETS += clean-gcno clean-gcda coverage-html \
29
generate-coverage-html clean-coverage-html coverage-xml \
30
generate-xml generate-coverage-xml clean-coverage-xml
32
clean-gcno.commands = \
33
"@echo Removing old coverage instrumentation"; \
34
"find -name '*.gcno' -print | xargs -r rm"
36
clean-gcda.commands = \
37
"@echo Removing old coverage results"; \
38
"find -name '*.gcda' -print | xargs -r rm"
40
coverage-html.depends = clean-gcda check generate-coverage-html
42
generate-coverage-html.commands = \
43
"@echo Collecting coverage data"; \
44
"lcov --directory $${TOP_SRC_DIR} --capture --output-file coverage.info --no-checksum --compat-libtool"; \
45
"lcov --extract coverage.info \"*/modules/*.cpp\" -o coverage.info"; \
46
"lcov --remove coverage.info \"moc_*.cpp\" -o coverage.info"; \
47
"LANG=C genhtml --prefix $${TOP_SRC_DIR} --output-directory coverage-html --title \"Code Coverage\" --legend --show-details coverage.info"
49
clean-coverage-html.depends = clean-gcda
50
clean-coverage-html.commands = \
51
"lcov --directory $${TOP_SRC_DIR} -z"; \
52
"rm -rf coverage.info coverage-html"
54
coverage-xml.depends = clean-gcda check generate-coverage-xml
56
generate-coverage-xml.commands = \
57
"@echo Generating coverage GCOVR XML report"; \
58
"gcovr -x -r $${TOP_SRC_DIR} -o $${TOP_SRC_DIR}/coverage.xml -e \".*/moc_.*\" -e \"unit/.*\" -e \".*\\.h\""
60
clean-coverage-xml.depends = clean-gcda
61
clean-coverage-xml.commands = \
62
"rm -rf $${TOP_SRC_DIR}/coverage.xml"
64
QMAKE_CLEAN += *.gcda *.gcno coverage.info coverage.xml