~mardy/signon-ui/lp1111507

« back to all changes in this revision

Viewing changes to coverage.pri

  • Committer: Alberto Mardegan
  • Date: 2012-09-17 10:38:22 UTC
  • mfrom: (47.3.1 opensesame-signon-ui)
  • Revision ID: alberto.mardegan@canonical.com-20120917103822-impcyu3l7gn96xnw
CoverageĀ support

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Coverage
 
2
CONFIG(coverage) {
 
3
    OBJECTS_DIR =
 
4
    MOC_DIR =
 
5
    TOP_SRC_DIR = $$PWD
 
6
 
 
7
    LIBS += -lgcov
 
8
    QMAKE_CXXFLAGS += --coverage
 
9
    QMAKE_LDFLAGS += --coverage
 
10
 
 
11
    QMAKE_EXTRA_TARGETS += coverage cov
 
12
    QMAKE_EXTRA_TARGETS += clean-gcno clean-gcda coverage-html \
 
13
        generate-coverage-html clean-coverage-html coverage-gcovr \
 
14
        generate-gcovr generate-coverage-gcovr clean-coverage-gcovr
 
15
 
 
16
    clean-gcno.commands = \
 
17
        "@echo Removing old coverage instrumentation"; \
 
18
        "find -name '*.gcno' -print | xargs -r rm"
 
19
 
 
20
    clean-gcda.commands = \
 
21
        "@echo Removing old coverage results"; \
 
22
        "find -name '*.gcda' -print | xargs -r rm"
 
23
  
 
24
    coverage-html.depends = clean-gcda check generate-coverage-html
 
25
  
 
26
    generate-coverage-html.commands = \
 
27
        "@echo Collecting coverage data"; \
 
28
        "lcov --directory $${TOP_SRC_DIR} --capture --output-file coverage.info --no-checksum --compat-libtool"; \
 
29
        "lcov --extract coverage.info \"*/src/*.cpp\" -o coverage.info"; \
 
30
        "lcov --remove coverage.info \"moc_*.cpp\" -o coverage.info"; \
 
31
        "LANG=C genhtml --prefix $${TOP_SRC_DIR} --output-directory coverage-html --title \"Code Coverage\" --legend --show-details coverage.info"
 
32
  
 
33
    clean-coverage-html.depends = clean-gcda
 
34
    clean-coverage-html.commands = \
 
35
        "lcov --directory $${TOP_SRC_DIR} -z"; \
 
36
        "rm -rf coverage.info coverage-html"
 
37
 
 
38
    coverage-gcovr.depends = clean-gcda check generate-coverage-gcovr
 
39
 
 
40
    generate-coverage-gcovr.commands = \
 
41
        "@echo Generating coverage GCOVR report"; \
 
42
        "gcovr -x -r $${TOP_SRC_DIR} -o $${TOP_SRC_DIR}/coverage.xml -e \".*/moc_.*\" -e \"tests/.*\" -e \".*\\.h\""
 
43
 
 
44
    clean-coverage-gcovr.depends = clean-gcda
 
45
    clean-coverage-gcovr.commands = \
 
46
        "rm -rf $${TOP_SRC_DIR}/coverage.xml"
 
47
 
 
48
    QMAKE_CLEAN += *.gcda *.gcno coverage.info coverage.xml
 
49
}