summaryrefslogtreecommitdiff
path: root/packaging/libscreen_connector.spec
diff options
context:
space:
mode:
authorhyunho <hhstark.kang@samsung.com>2020-09-08 10:49:38 +0900
committerhyunho <hhstark.kang@samsung.com>2020-09-08 10:49:38 +0900
commit505027f2f8eadd1aeeb917ea5277a53821db9e88 (patch)
tree69a8cf73af50ac15d66abd7e7e5ff02ba80d420c /packaging/libscreen_connector.spec
parent9a462a4ea6746dc5354e75420bf1e0ea5af76043 (diff)
downloadscreen-connector-505027f2f8eadd1aeeb917ea5277a53821db9e88.tar.gz
screen-connector-505027f2f8eadd1aeeb917ea5277a53821db9e88.tar.bz2
screen-connector-505027f2f8eadd1aeeb917ea5277a53821db9e88.zip
Add gcov build options
Enable coverage check option --define 'gcov 1' Change-Id: Ibb2920d0a4e94f3ddb5b2bceafeecc3d13cecbb7 Signed-off-by: hyunho <hhstark.kang@samsung.com>
Diffstat (limited to 'packaging/libscreen_connector.spec')
-rw-r--r--packaging/libscreen_connector.spec51
1 files changed, 48 insertions, 3 deletions
diff --git a/packaging/libscreen_connector.spec b/packaging/libscreen_connector.spec
index 8cfb896..e780641 100644
--- a/packaging/libscreen_connector.spec
+++ b/packaging/libscreen_connector.spec
@@ -26,6 +26,11 @@ BuildRequires: pkgconfig(gmock)
BuildRequires: pkgconfig(tzsh-launcher-service)
BuildRequires: pkgconfig(libtbm)
+%if 0%{?gcov:1}
+BuildRequires: lcov
+BuildRequires: zip
+%endif
+
%description
API for creating a new instance of the widget and managing its life-cycle.
@@ -37,6 +42,15 @@ Requires: %{name} = %{version}-%{release}
%description devel
Header and package configuration files for the widget viewer development
+%if 0%{?gcov:1}
+%package gcov
+Summary: Screen Connector(gcov)
+Group: Application Framework/Libraries
+
+%description gcov
+gcov objects of a screen-connector library
+%endif
+
%prep
%setup -q
cp %{SOURCE1001} .
@@ -49,17 +63,48 @@ cp %{SOURCE1007} .
cp %{SOURCE1008} .
%build
-
-export CFLAGS+=" -DEFL_BETA_API_SUPPORT "
-export CXXFLAGS+=" -DEFL_BETA_API_SUPPORT "
+%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+=" -DEFL_BETA_API_SUPPORT"
+export CXXFLAGS+=" -DEFL_BETA_API_SUPPORT"
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
%cmake . -DTZ_SYS_SHARE=/usr/share -DMAJORVER=${MAJORVER} -DFULLVER=%{version}
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
+
+%check
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}/usr/lib/
+ctest -V
+
+%if 0%{?gcov:1}
+lcov -c --ignore-errors graph --no-external -q -d . -o screen-connector.info
+genhtml screen-connector.info -o screen-connector.out
+zip -r screen-connector.zip screen-connector.out
+install -m 0644 screen-connector.zip %{buildroot}%{_datadir}/gcov/
+%endif
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/*
+%endif
#################################################
# libscreen_connector_watcher