Support to generate gcov package 33/216033/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 18 Oct 2019 10:44:56 +0000 (19:44 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 18 Oct 2019 10:44:56 +0000 (19:44 +0900)
Change-Id: I060934c1a13e9447aa2b370cdf1236f362a31e1c
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
packaging/capi-ui-sticker.spec

index 9bc90ad..57ba2cb 100644 (file)
@@ -39,20 +39,39 @@ Requires:   %{name} = %{version}-%{release}
 %description devel
 Sticker client library and daemon (Development)
 
+%if 0%{?gcov:1}
+%package gcov
+Summary:  Sticker client library and daemon (gcov)
+Group:      Graphics & UI Framework/Input
+%description gcov
+Sticker client library and daemon (gcov)
+%endif
+
 %prep
 %setup -q -n %{name}-%{version}
 cp %{SOURCE2} .
 
 %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+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
 export CXXFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
 
-cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
-        -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_SYS_SHARE=%TZ_SYS_SHARE
+%cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
+         -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_SYS_SHARE=%TZ_SYS_SHARE
 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
@@ -67,6 +86,11 @@ install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/system-services/org.tize
 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
 install -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
 
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
 %post
 /sbin/ldconfig
 
@@ -100,3 +124,8 @@ chsmack -a "System::Shared" %{TZ_SYS_SHARE}/sticker-data
 %{_includedir}/sticker_data.h
 %{_includedir}/sticker_consumer.h
 %{_includedir}/sticker_provider.h
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif