BuildRequires: pkgconfig(cynara-client)
BuildRequires: pkgconfig(wayland-tbm-client)
BuildRequires: pkgconfig(screen_connector_watcher)
+%if 0%{?gcov:1}
+BuildRequires: lcov
+BuildRequires: zip
+%endif
%if 0%{?tizen_version_major} >= 5
BuildRequires: pkgconfig(ecore-wl2)
%description devel
Header and package configuration files for the widget viewer development
+#################################################
+# widget-viewer-gcov
+#################################################
+%if 0%{?gcov:1}
+%package gcov
+Summary: Simple string key-val dictionary ADT (gcov)
+Group: Application Framework/Testing
+
+%description gcov
+Simple string key-val dictionary ADT gcov objects
+%endif
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/*
+%endif
+
##############################
# Preparation
##############################
# Build
##############################
%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
+
PREFIX="/usr"
CXXFLAGS+=" -Wall -g -O2 -fPIE -Wl,-z,relro,-z,now -fstack-protector-strong -D_FORTIFY_SOURCE=2"
LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -pie -Wl,-z,relro,-z,now"
make %{?jobs:-j%jobs}
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+%endif
+
+%check
+ctest --output-on-failure %{?_smp_mflags}
+%if 0%{?gcov:1}
+lcov -c --ignore-errors graph --no-external -q -d . -o widget-viewer-dali.info
+genhtml widget-viewer-dali.info -o widget-viewer-dali.out
+zip -r widget-viewer-dali.zip widget-viewer-dali.out widget-viewer-dali.info
+install -m 0644 widget-viewer-dali.zip %{buildroot}%{_datadir}/gcov/
+%endif
+
+
##############################
# Installation
##############################
pushd build/tizen
%make_install
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
##############################
# Post Install
##############################