From 503abf607a9e1d5d778edb48e00514f5cb73f777 Mon Sep 17 00:00:00 2001
From: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Date: Sat, 25 Oct 2014 05:28:37 +0000
Subject: [PATCH] Add 'coverage' configuration to Makefile.

git-svn-id: https://pugixml.googlecode.com/svn/trunk@1079 99668b35-9821-0410-8761-19e4c4f06640
---
 Makefile | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Makefile b/Makefile
index eddd4f2e..d351e0ff 100644
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,12 @@ ifeq ($(config),release)
 	CXXFLAGS+=-O3 -DNDEBUG
 endif
 
+ifeq ($(config),coverage)
+	CXXFLAGS+=-DNDEBUG
+	CXXFLAGS+=-fprofile-arcs -ftest-coverage
+	LDFLAGS+=-fprofile-arcs
+endif
+
 ifneq ($(defines),standard)
 	COMMA=,
 	CXXFLAGS+=-D $(subst $(COMMA), -D ,$(defines))
@@ -22,8 +28,16 @@ OBJECTS=$(SOURCES:%=$(BUILD)/%.o)
 
 all: $(EXECUTABLE)
 
+ifeq ($(config),coverage)
 test: $(EXECUTABLE)
+	@find $(BUILD) -name '*.gcda' | xargs rm
 	./$(EXECUTABLE)
+	@gcov -b -c $(BUILD)/src/pugixml.cpp.gcda | sed -e '/./{H;$!d;}' -e 'x;/pugixml.cpp/!d;'
+	@ls *.gcov | grep -v pugixml.cpp.gcov | xargs rm
+else
+test: $(EXECUTABLE)
+	./$(EXECUTABLE)
+endif
 
 clean:
 	rm -rf $(BUILD)
-- 
GitLab