Make a gcov package for measuring coverage easier 94/209694/3
authorhyunho <hhstark.kang@samsung.com>
Wed, 10 Jul 2019 05:03:32 +0000 (14:03 +0900)
committerhyunho <hhstark.kang@samsung.com>
Fri, 12 Jul 2019 04:32:14 +0000 (13:32 +0900)
Change-Id: Ic5015c170b166f930f1c42d37e0f745100b5ce54
Signed-off-by: hyunho <hhstark.kang@samsung.com>
packaging/appcore-watch.spec

index c16bae2..528434a 100644 (file)
@@ -31,6 +31,14 @@ Recommends: amd-mod-watch
 %description
 Watch application
 
+%if 0%{?gcov:1}
+%package gcov
+Summary:  Watch application API(gcov)
+Group:    Application Framework/Libraries
+
+%description gcov
+gcov objects of a watch application library
+%endif
 
 %package devel
 Summary:    appcore watch
@@ -65,6 +73,13 @@ Watch base library (development files)
 
 
 %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
+
 %if 0%{?sec_build_binary_debug_enable}
 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
@@ -79,10 +94,20 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 
 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
+
 mkdir -p %{buildroot}%{_libdir}/pkgconfig
 cp capi-appfw-watch-application.pc %{buildroot}%{_libdir}/pkgconfig
 
@@ -121,3 +146,8 @@ cp capi-appfw-watch-application.pc %{buildroot}%{_libdir}/pkgconfig
 %{_includedir}/appcore-watch/watch_base.h
 %{_libdir}/pkgconfig/appcore-watch-base.pc
 %{_libdir}/libappcore-watch-base.so
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif