aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-02-08 11:03:52 -0600
committerTed Gould <ted@gould.cx>2012-02-08 11:03:52 -0600
commit16527352ce17d93f1af9cb7f424ff7335b4032a1 (patch)
tree1fe3ba9eb5e4d6c6cffab518ef4ddc769f6038a7 /Makefile.am
parent4e1deeb8bcec30c2cfe994c670695aa7d3044f49 (diff)
parentdd6a60c62c1fc07de49f81b24c3ca3d579f49f6c (diff)
downloadayatana-indicator-application-16527352ce17d93f1af9cb7f424ff7335b4032a1.tar.gz
ayatana-indicator-application-16527352ce17d93f1af9cb7f424ff7335b4032a1.tar.bz2
ayatana-indicator-application-16527352ce17d93f1af9cb7f424ff7335b4032a1.zip
Adding in a code coverage based build target
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am36
1 files changed, 36 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 335efc6..0a3f24b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,3 +32,39 @@ dist-hook:
else \
echo Failed to generate AUTHORS: not a branch >&2; \
fi
+
+
+# Coverage targets
+
+.PHONY: clean-gcda
+clean-gcda:
+ @echo Removing old coverage results
+ -find -name '*.gcda' -print | xargs -r rm
+
+.PHONY: coverage-html generate-coverage-html clean-coverage-html
+coverage-html: clean-gcda
+ -$(MAKE) $(AM_MAKEFLAGS) -k check
+ $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html
+
+generate-coverage-html:
+ @echo Collecting coverage data
+ $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool
+ LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
+
+clean-coverage-html: clean-gcda
+ -$(LCOV) --directory $(top_builddir) -z
+ -rm -rf coverage.info coveragereport
+
+.PHONY: coverage-xml generate-coverage-xml clean-coverage-xml
+coverage-xml: clean-gcda
+ -$(MAKE) $(AM_MAKEFLAGS) -k check
+ $(MAKE) $(AM_MAKEFLAGS) generate-coverage-xml
+
+generate-coverage-xml:
+ @echo Generating coverage XML report
+ $(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml
+
+clean-coverage-xml: clean-gcda
+ -rm -rf $(top_builddir)/coverage.xml
+
+clean-local: clean-coverage-html clean-coverage-xml