Make a gcov package for measuring coverage easier 67/209767/1
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 10 Jul 2019 23:46:34 +0000 (08:46 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 10 Jul 2019 23:46:56 +0000 (08:46 +0900)
Change-Id: I22c2d078a3ab0da2f0469c10099924c156d21dbc
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
packaging/minicontrol.spec

index d2390a7a14fd6ec5a4f1da217cbd0b6feaea2e45..d8bf43c1bb3b662f021be8da46a5136645cc42bd 100644 (file)
@@ -25,14 +25,30 @@ Minicontrol is a small control panel on notification panel or lock screen. This
 %package devel
 Summary:    Minicontrol library (devel)
 Group:      Development/Libraries
-Requires:   %{name} = %{version}-%{release}
+Requires:   %{name} = %{version}
 
 %description devel
 Minicontrol library (devel).
 
+%if 0%{?gcov:1}
+%package gcov
+Summary:  Minicontrol Library(gcov)
+Group:    Application Framework/Other
+
+%description gcov
+gcov objects of Minicontrol Library
+%endif
+
 %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
+
 export CFLAGS+=" -fPIC "
-export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
+export LDFLAGS+=" -Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
 LDFLAGS="$LDFLAGS"
 
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
@@ -43,9 +59,19 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 %endif
 make %{?jobs:-j%jobs}
 
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+%endif
+
 %install
 %make_install
 
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
 %post
 /sbin/ldconfig
 
@@ -68,3 +94,8 @@ make %{?jobs:-j%jobs}
 %{_libdir}/libminicontrol-provider.so
 %{_libdir}/libminicontrol-viewer.so
 %{_libdir}/libminicontrol-monitor.so
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif