From f57ca925e2602b5696a4a89f921f1c48a3917659 Mon Sep 17 00:00:00 2001 From: Sunggyu Choi Date: Thu, 4 Jul 2019 16:44:09 +0900 Subject: [PATCH] Add gcov configuration Change-Id: I6d7ae65214eab7b9090f6d244c4c232e91953730 Signed-off-by: Sunggyu Choi --- packaging/capi-base-common.spec | 47 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/packaging/capi-base-common.spec b/packaging/capi-base-common.spec index eb28d62..3a05402 100644 --- a/packaging/capi-base-common.spec +++ b/packaging/capi-base-common.spec @@ -1,12 +1,16 @@ Name: capi-base-common Summary: Common header files of Tizen Native API -Version: 0.4.44 +Version: 0.4.46 Release: 1 Group: Base License: Apache-2.0 Source0: %{name}-%{version}.tar.gz BuildRequires: cmake +%if 0%{?gcov:1} +BuildRequires: lcov +BuildRequires: zip +%endif Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -22,10 +26,25 @@ Requires: %{name} = %{version}-%{release} %description devel Common header files of Tizen Native API +%if 0%{?gcov:1} +%package gcov +Summary: Common header files of Tizen Native API (gcov) +Group: Base + +%description gcov +Common header files of Tizen Native API gcov objects +%endif + %prep %setup -q %build +%if 0%{?gcov:1} +export CFLAGS+=" -fprofile-arcs -ftest-coverage" +export CXXFLAGS+=" -fprofile-arcs -ftest-coverage" +export FFLAGS+=" -fprofile-arcs -ftest-coverage" +export LDFLAGS+=" -lgcov" +%endif MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` @@ -34,14 +53,35 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -DIN make %{?jobs:-j%jobs} +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . -name '*.gcno' -exec cp '{}' gcov-obj ';' +%endif + %install rm -rf %{buildroot} %make_install +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + +%if 0%{?gcov:1} +lcov -c --ignore-errors graph --no-external -q -d . -o capi-base-common.info +genhtml capi-base-common.info -o capi-base-common.out +zip -r capi-base-common.zip capi-base-common.out capi-base-common.info +install -m 0644 capi-base-common.zip %{buildroot}%{_datadir}/gcov/ +%endif + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%if 0%{?gcov:1} +%{_bindir}/capi-base-common_unittests +%endif + %files %manifest %{name}.manifest %{_libdir}/libcapi-base-common.so.* @@ -51,3 +91,8 @@ rm -rf %{buildroot} %{_includedir}/*.h %{_libdir}/pkgconfig/capi-base-common.pc %{_libdir}/libcapi-base-common.so + +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/* +%endif -- 2.7.4