build: enable code coverage
Enable code coverage for the project. Valgrind not enabled in this
step.
Change-Id: I439d58b23d2bc29d6f602600319074c8fd8c04d6
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/Makefile.am b/Makefile.am
index 3b57953..a5d2779 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,32 @@
ACLOCAL_AMFLAGS = -I m4
AM_DEFAULT_SOURCE_EXT = .cpp
+# Ignore system headers
+CODE_COVERAGE_IGNORE_PATTERN = '/include/*' '/usr/include/*' '$(includedir)/*'
+export CODE_COVERAGE_IGNORE_PATTERN
+
+CODE_COVERAGE_LCOV_SHOPTS = $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
+# Use our configuration file for lcov
+CODE_COVERAGE_LCOV_SHOPTS += --config-file $(abs_srcdir)/.lcovrc
+export CODE_COVERAGE_LCOV_SHOPTS
+
+CODE_COVERAGE_LCOV_OPTIONS = $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
+# Use our configuration file for lcov
+CODE_COVERAGE_LCOV_OPTIONS += --config-file $(abs_srcdir)/.lcovrc
+export CODE_COVERAGE_LCOV_OPTIONS
+
+CODE_COVERAGE_LCOV_RMOPTS = $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
+# Use our configuration file for lcov
+CODE_COVERAGE_LCOV_RMOPTS += --config-file $(abs_srcdir)/.lcovrc
+export CODE_COVERAGE_LCOV_RMOPTS
+
+CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
+# Use our configuration file for genhtml
+CODE_COVERAGE_GENHTML_OPTIONS += --config-file $(abs_srcdir)/.lcovrc
+# Don't generate the absolute path for each file in the HTML output
+CODE_COVERAGE_GENHTML_OPTIONS += --prefix $(abs_srcdir) --prefix $(abs_builddir)
+export CODE_COVERAGE_GENHTML_OPTIONS
+
libblobcmdsdir = ${libdir}/ipmid-providers
libblobcmds_LTLIBRARIES = libblobcmds.la
libblobcmds_la_SOURCES = \
@@ -18,6 +44,7 @@
$(LIBADD_DLOPEN) \
$(PHOSPHOR_LOGGING_LIBS) \
$(LIBIPMID_LIBS) \
+ $(CODE_COVERAGE_LIBS) \
-lstdc++fs \
-export-dynamic \
-version-info 0:0:0 -shared
@@ -26,6 +53,7 @@
$(SYSTEMD_CFLAGS) \
$(PHOSPHOR_LOGGING_CFLAGS) \
$(LIBIPMID_CFLAGS) \
+ $(CODE_COVERAGE_CXXFLAGS) \
-flto
nobase_include_HEADERS = \
@@ -43,9 +71,11 @@
libblobexample_la_SOURCES = example/example.cpp
libblobexample_la_LDFLAGS = \
$(PHOSPHOR_LOGGING_LIBS) \
+ $(CODE_COVERAGE_LIBS) \
-version-info 0:0:0 -shared
libblobexample_la_CXXFLAGS = \
$(PHOSPHOR_LOGGING_CFLAGS) \
+ $(CODE_COVERAGE_CXXFLAGS) \
-flto
SUBDIRS = . test