blob: 4ca3f4ced296bcad9606aee2dd78c5838e9de0b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# generate code coverage information using gcov/lcov/genhtml
CONFIG(debug,debug|release) {
equals(TEMPLATE, "subdirs") {
sub-coverage.target = coverage
sub-coverage.CONFIG = recursive
sub-check-coverage.target = check-coverage
sub-check-coverage.CONFIG = recursive
sub-check-branch-coverage.target = check-branch-coverage
sub-check-branch-coverage.CONFIG = recursive
QMAKE_EXTRA_TARGETS += sub-coverage sub-check-coverage sub-check-branch-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
equals(TEMPLATE, "lib") {
CLEAR_AND_RUN="true"
} else {
CLEAR_AND_RUN="lcov -z -d . -b . && $$COVERAGE_RUNTIME ./$(TARGET)"
}
check-coverage.commands = @echo && echo "Checking coverage..." && $$CLEAR_AND_RUN && lcov -c -d . -b . -o $(TARGET).gcov-info
check-coverage.depends = coverage
check-branch-coverage.commands = @echo && echo "Checking branch coverage..." && $$CLEAR_AND_RUN && lcov -c -d . -b . -o $(TARGET).gcov-info --rc lcov_branch_coverage=1
check-branch-coverage.depends = coverage
QMAKE_CLEAN += $(OBJECTS_DIR)/*.gcda $(OBJECTS_DIR)/*.gcno $(TARGET).gcov-info
QMAKE_EXTRA_TARGETS *= coverage_pre coverage check-coverage check-branch-coverage
}
}
|