coverage: $(COVERAGE_OUTPUT_INDEX_HTML)
@echo 'file://$(abs_builddir)/$(COVERAGE_OUTPUT_INDEX_HTML)'
+if LCOV_OLD
$(COVERAGE_OUTPUT_INDEX_HTML): $(COVERAGE_OUTPUT_FILE)
LC_ALL=C $(GENHTML) \
--legend \
--prefix='$(realpath $(abs_builddir)/..)' \
--output-directory='$(COVERAGE_OUTPUT_DIRECTORY)' \
$<
+else
+$(COVERAGE_OUTPUT_INDEX_HTML): $(COVERAGE_OUTPUT_FILE)
+ LC_ALL=C $(GENHTML) \
+ --legend \
+ --show-details \
+ --ignore-errors empty,negative \
+ --rc=genhtml_branch_coverage=1 \
+ --title='$(COVERAGE_TITLE)' \
+ --prefix='$(abspath $(abs_srcdir))' \
+ --prefix='$(realpath $(abs_srcdir))' \
+ --prefix='$(abspath $(abs_builddir)/..)' \
+ --prefix='$(realpath $(abs_builddir)/..)' \
+ --output-directory='$(COVERAGE_OUTPUT_DIRECTORY)' \
+ $<
+endif
+if LCOV_OLD
$(COVERAGE_OUTPUT_FILE):
$(LCOV) \
--capture \
--gcov-tool='$(GCOV)' \
--output-file='$@' \
$(LCOV_DIRS_ARGS)
-
+else
+$(COVERAGE_OUTPUT_FILE):
+ $(LCOV) \
+ --capture \
+ --no-external \
+ --no-checksum \
+ --ignore-errors empty,negative \
+ --rc=lcov_branch_coverage=1 \
+ --gcov-tool='$(GCOV)' \
+ --output-file='$@' \
+ $(LCOV_DIRS_ARGS)
+endif
endif
# Tell version 3.79 and up of GNU make to not build goals in this
fi
AM_CONDITIONAL(GCOV, test "$use_gcov" = yes)
+# Check if lcov/genhtml supports ignoring additional errors.
+AM_CONDITIONAL([LCOV_OLD],
+ [test "$LCOV" = "lcov" && lcov --version | grep -E -q "version 0|version 1"])
+
AC_ARG_ENABLE([sanitize-undefined],
AS_HELP_STRING([--enable-sanitize-undefined],
[Use gcc undefined behaviour sanitizer]),