Release version 1.5.2
[platform/core/appfw/appcore-widget.git] / packaging / appcore-widget.spec
index 9cdc748..7a5c053 100644 (file)
@@ -1,25 +1,30 @@
 Name:       appcore-widget
 Summary:    Widget Application
-Version:    1.2.6
+Version:    1.5.2
 Release:    1
 Group:      Application Framework/Libraries
 License:    Apache-2.0
-Source0:    appcore-widget-%{version}.tar.gz
+Source0:    %{name}-%{version}.tar.gz
+Source1001: %{name}.manifest
 BuildRequires:  pkgconfig(aul)
 BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(elementary)
-BuildRequires:  pkgconfig(dbus-glib-1)
-BuildRequires:  pkgconfig(vconf)
-BuildRequires:  pkgconfig(vconf-internal-keys)
-BuildRequires:  pkgconfig(appcore-common)
+BuildRequires:  pkgconfig(app-core-cpp)
 BuildRequires:  pkgconfig(capi-appfw-app-common)
 BuildRequires:  pkgconfig(widget_service)
 BuildRequires:  pkgconfig(capi-system-info)
-BuildRequires:  pkgconfig(ecore-wayland)
+BuildRequires:  pkgconfig(ecore-wl2)
+BuildRequires:  pkgconfig(app-core-multi-window-cpp)
 BuildRequires:  pkgconfig(appcore-multiwindow)
 BuildRequires:  pkgconfig(screen_connector_provider)
+BuildRequires:  pkgconfig(gmock)
 BuildRequires:  cmake
 
+%if 0%{?gcov:1}
+BuildRequires:  lcov
+BuildRequires:  zip
+%endif
+
 %description
 Widget base
 
@@ -50,20 +55,86 @@ Requires:   %{name} = %{version}-%{release}
 %description -n capi-appfw-widget-application-devel
 widget application (development files)
 
+%package -n appcore-widget-unittests
+Summary:    GTest for appcore-widget
+Group:      Development/Libraries
+%description -n appcore-widget-unittests
+GTest for appcore-widget
+
+
+%if 0%{?gcov:1}
+%package gcov
+Summary:  Widget application API(gcov)
+Group:    Application Framework/Libraries
+
+%description gcov
+gcov objects of a widget application library
+%endif
+
 %prep
 %setup -q
+cp %{SOURCE1001} .
 
 %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+=" -DEFL_BETA_API_SUPPORT "
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DBIN_INSTALL_DIR:PATH=%{_bindir}
 %__make %{?jobs:-j%jobs}
 
 %install
 rm -rf %{buildroot}
 %make_install
 
-mkdir -p %{buildroot}%{_libdir}/pkgconfig
-cp capi-appfw-widget-application.pc %{buildroot}%{_libdir}/pkgconfig
+%if 0%{?gcov:1}
+builddir=$(basename $PWD)
+gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
+mkdir -p "$gcno_obj_dir"
+find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
+%endif
+
+cat << EOF > run-unittest.sh
+#!/bin/sh
+setup() {
+    echo "setup start"
+}
+
+test_main() {
+    echo "test_main start"
+    /usr/bin/appcore-widget-unittest
+}
+
+teardown() {
+    echo "teardown start"
+}
+
+main() {
+    setup
+    test_main
+    teardown
+}
+
+main "\$*"
+EOF
+
+mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
+install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
+
+%check
+export LD_LIBRARY_PATH=../../src/base:../../src/efl_base
+ctest -V
+%if 0%{?gcov:1}
+lcov -c --ignore-errors mismatch,graph,unused --no-external -q -d . -o appcore-widget.info
+genhtml appcore-widget.info -o appcore-widget.out
+zip -r appcore-widget.zip appcore-widget.out
+install -m 0644 appcore-widget.zip %{buildroot}%{_datadir}/gcov/obj/
+%endif
 
 %post -p /sbin/ldconfig
 
@@ -76,11 +147,11 @@ cp capi-appfw-widget-application.pc %{buildroot}%{_libdir}/pkgconfig
 %license LICENSE
 
 %files -n appcore-widget-base-devel
+/usr/include/appfw/widget_base.hh
 /usr/include/appfw/widget_base.h
 %{_libdir}/pkgconfig/appcore-widget-base.pc
 %{_libdir}/libappcore-widget-base.so
 
-
 %files -n appcore-widget
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
@@ -89,8 +160,17 @@ cp capi-appfw-widget-application.pc %{buildroot}%{_libdir}/pkgconfig
 
 %files -n capi-appfw-widget-application-devel
 /usr/include/appfw/widget_app.h
+/usr/include/appfw/widget_app.hpp
 /usr/include/appfw/widget_app_efl.h
 /usr/include/appfw/widget_app_internal.h
 %{_libdir}/pkgconfig/capi-appfw-widget-application.pc
 %{_libdir}/libcapi-appfw-widget-application.so
 
+%files -n appcore-widget-unittests
+%{_bindir}/appcore-widget-unittest
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif