Group: Application Framework/Database
Source0: %{name}-%{version}.tar.gz
Source1001: %{name}.manifest
-Source1002: %{name}-devel.manifest
BuildRequires: cmake
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(vconf)
+%if 0%{?gcov:1}
+BuildRequires: gtest-devel
+BuildRequires: lcov
+%endif
+
%description
DB Utility.
%description devel
Devel package for libslp-db-util (devel)
+%if 0%{?gcov:1}
+%package gcov
+Summary: DB Utility(gcov)
+Group: Application Framework/Database
+%description gcov
+libslp-db-util gcov objects
+%endif
+
%prep
%setup -q
-cp %{SOURCE1001} %{SOURCE1002} .
+cp %{SOURCE1001} ./%{name}.manifest
%build
export FFLAGS+=" $FFLAGS -DDB_UTIL_ARCH_64 "
%endif
-%cmake .
+%if 0%{?gcov:1}
+export CFLAGS+=" -O0 -fprofile-arcs -ftest-coverage"
+export CXXFLAGS+=" -O0 -fprofile-arcs -ftest-coverage"
+%define CMAKE_GCOV -DGCOV=1
+%else
+%define CMAKE_GCOV %{nil}
+%endif
+
+%cmake . %{CMAKE_GCOV}
make %{?_smp_mflags}
+%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
+
+%check
+%if 0%{?gcov:1}
+pushd tests
+./run_coverage.sh
+popd
+%endif
+
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%manifest %{name}.manifest
-%license LICENSE
+%license LICENSE.APLv2
%defattr(-,root,root,-)
%{_libdir}/libSLP-db-util.so.0
%{_libdir}/libSLP-db-util.so.0.1.0
%files devel
-%manifest %{name}-devel.manifest
%defattr(-,root,root,-)
%dir %{_includedir}/db-util
%{_includedir}/db-util/*.h
%{_libdir}/pkgconfig/db-util.pc
%{_libdir}/libSLP-db-util.so
+
+%if 0%{?gcov:1}
+%files gcov
+%defattr(-,root,root,-)
+%{_datadir}/gcov/obj/*
+%endif