Modify the package configuration for coverage 79/230579/1
authorDoHyun Pyun <dh79.pyun@samsung.com>
Mon, 13 Apr 2020 01:12:31 +0000 (10:12 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Mon, 13 Apr 2020 01:12:31 +0000 (10:12 +0900)
Change-Id: I5d5304a39f7e4ec36c8b6d15bd8d45cf62378de1
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
CMakeLists.txt
bt-share/CMakeLists.txt
lib/CMakeLists.txt
packaging/bluetooth-share.spec

index afe91b3..379c7f3 100644 (file)
@@ -4,6 +4,6 @@ ADD_SUBDIRECTORY(lib)
 
 ADD_SUBDIRECTORY(bt-share)
 
-IF (BUILD_GTESTS)
+IF (BUILD_GCOV)
 ADD_SUBDIRECTORY(unittest)
-ENDIF (BUILD_GTESTS)
+ENDIF (BUILD_GCOV)
index 516cd6c..e443b13 100644 (file)
@@ -58,7 +58,7 @@ ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${CALENDAR_SERVICE2_LDFLAGS} ${CONTACTS_SERVICE2_LDFLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/../lib -lbluetooth-share-api)
 #TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/../lib -lbluetooth-share-api)
 
-IF (BUILD_GTESTS)
+IF (BUILD_GCOV)
 # -fvisibility option should be "default" to call internal functions
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default -fPIC -Werror -Wno-deprecated-declarations -fprofile-arcs -ftest-coverage")
 
@@ -68,9 +68,9 @@ SET_TARGET_PROPERTIES(bt-share
        SOVERSION 0.1.0
        CLEAN_DIRECT_OUTPUT 1)
 
-TARGET_LINK_LIBRARIES(bt-share ${pkgs_LDFLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/../lib -lbluetooth-share-api -lgcov)
+TARGET_LINK_LIBRARIES(bt-share ${pkgs_LDFLAGS} ${CALENDAR_SERVICE2_LDFLAGS} ${CONTACTS_SERVICE2_LDFLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/../lib -lbluetooth-share-api -lgcov)
 INSTALL(TARGETS bt-share DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
-ENDIF (BUILD_GTESTS)
+ENDIF (BUILD_GCOV)
 
 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
 #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/org.bluetooth.share.service DESTINATION share/dbus-1/system-services)
index b765e75..4e69eb4 100644 (file)
@@ -22,10 +22,10 @@ SET(LIBDIR ${LIB_INSTALL_DIR})
 SET(INCLUDEDIR "/usr/include")
 SET(VERSION 1.0)
 
-IF (BUILD_GTESTS)
+IF (BUILD_GCOV)
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fprofile-arcs -ftest-coverage")
 SET(apipkgs_LDFLAGS "${apipkgs_LDFLAGS} -lgcov")
-ENDIF (BUILD_GTESTS)
+ENDIF (BUILD_GCOV)
 
 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0)
index 4ee7ede..5caf1b7 100644 (file)
@@ -41,9 +41,9 @@ BuildRequires:  pkgconfig(storage)
 BuildRequires:  pkgconfig(libsystemd)
 BuildRequires:  pkgconfig(calendar-service2)
 BuildRequires:  pkgconfig(contacts-service2)
-
-%if 0%{?gtests:1}
+%if 0%{?gcov:1}
 BuildRequires:  pkgconfig(gmock)
+BuildRequires:  lcov
 %endif
 
 %description
@@ -65,13 +65,13 @@ Requires:   %{name} = %{version}-%{release}
 %description -n libbluetooth-share-devel
 Development package for libbluetooth-share
 
-%if 0%{?gtests:1}
-%package test
+%if 0%{?gcov:1}
+%package gcov
 Summary: Test package for bluetooth-share
 Group:   TO_BE/FILLED
 Requires: %{name} = %{version}-%{release}
 
-%description test
+%description gcov
 This package is C-API test application.
 %endif
 
@@ -80,6 +80,13 @@ This package is C-API test application.
 cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} .
 
 %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="$CFLAGS -DTIZEN_DEBUG_ENABLE -DENABLE_CONTACTS_SERVICE2 -DENABLE_CALENDAR_SERVICE2"
 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE -DENABLE_CONTACTS_SERVICE2 -DENABLE_CALENDAR_SERVICE2"
 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE -DENABLE_CONTACTS_SERVICE2 -DENABLE_CALENDAR_SERVICE2"
@@ -90,13 +97,22 @@ export LDFLAGS+=" -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=
 
 %cmake . \
        -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-       -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
        -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
 make
 
+%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
+
 install -D -m 0755 %{SOURCE1004} %{buildroot}%{TZ_COMM_DATA}/%{name}/init_db.sh
 install -D -m 0644 packaging/bluetooth-share.service %{buildroot}%{_libdir}/systemd/system/bluetooth-share.service
 install -D -m 0644 packaging/bluetooth-share-start.service %{buildroot}%{_libdir}/systemd/system/bluetooth-share-start.service
@@ -144,11 +160,12 @@ mkdir -p %{_libdir}/systemd/system/multi-user.target.wants/
 %{_libdir}/libbluetooth-share-api.so
 %{_libdir}/pkgconfig/bluetooth-share-api.pc
 
-%if 0%{?gtests:1}
-%files test
+%if 0%{?gcov:1}
+%files gcov
 %manifest %{name}.manifest
 %{_bindir}/gtest-bluetooth-share
 %{_libdir}/libbt-share.so*
+%{_datadir}/gcov/obj/*
 %exclude %{_libdir}/debug/*
 %exclude %{_libdir}/debug/.build-id/*
 %endif