Add gcov object package. 76/208876/1 accepted/tizen/unified/20190703.110604 submit/tizen/20190702.005757
authorjinwang.an <jinwang.an@samsung.com>
Mon, 1 Jul 2019 05:21:45 +0000 (14:21 +0900)
committerjinwang.an <jinwang.an@samsung.com>
Mon, 1 Jul 2019 05:21:45 +0000 (14:21 +0900)
Change-Id: I710a1479f61d2cd56e12dd34e889133d60677a1a
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
CMakeLists.txt
packaging/capi-system-system-settings.spec

index 05ff033..6b4b3a4 100755 (executable)
@@ -16,11 +16,10 @@ SET(LIB_SYSTEM_SETTINGS_UTIL system-settings-util)
 # code coverage
 #---------------------------------------------------------------
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake)
-IF (CMAKE_BUILD_TYPE STREQUAL "UNITTEST")
+IF ((CMAKE_BUILD_TYPE STREQUAL "UNITTEST") OR (CMAKE_BUILD_TYPE STREQUAL "GCOVTEST"))
        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -g -O0 -fprofile-arcs -ftest-coverage --coverage")
        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -O0 -fprofile-arcs -ftest-coverage --coverage")
 ENDIF() #CMAKE_BUILD_TYPE STREQUAL "UNITTEST"
-
 #---------------------------------------------------------------
 # include/system-setting-config.h
 #---------------------------------------------------------------
@@ -28,10 +27,6 @@ set (VERSION_MAJOR 1)
 set (VERSION_MINOR 0)
 set (SETTING_DEF_RES_PATH "\"${SETTING_DEF_RES}\"")
 
-IF (CMAKE_BUILD_TYPE STREQUAL "UNITTEST")
-       ADD_DEFINITIONS("-DUNIT_TEST")
-ENDIF() #CMAKE_BUILD_TYPE STREQUAL "UNITTEST"
-
 set (SETTING_TIME_ZONEINFO_PATH "\"/usr/share/zoneinfo/\"")
 set (SETTING_TZONE_SYMLINK_PATH "\"/opt/etc/localtime\"")
 
@@ -65,9 +60,6 @@ ENDFOREACH(flag)
 
 
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror-implicit-function-declaration")
-IF (CMAKE_BUILD_TYPE STREQUAL "UNITTEST")
-       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}  --coverage")
-ENDIF() #CMAKE_BUILD_TYPE STREQUAL "UNITTEST"
 
 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 
index 761b524..5a2e6f2 100755 (executable)
@@ -44,6 +44,13 @@ Requires:  pkgconfig(capi-base-common)
 %description devel
 System setting api for get,set configuration
 
+%if 0%{?gcov:1}
+%package gcov
+Summary:  A System Settings library in Tizen Native API
+Group:    System/System Info/Testing
+%description gcov
+System Settings library gcov objects
+%endif
 
 
 %prep
@@ -101,6 +108,9 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
        -DTZ_SYS_RO_SHARE=%{TZ_SYS_RO_SHARE} \
        -DTZ_SYS_SHARE=%{TZ_SYS_SHARE} \
        -DSETTING_DEF_RES=%{TZ_SYS_GLOBALUSER_DATA}/settings \
+%if 0%{?gcov:1}
+       -DCMAKE_BUILD_TYPE=GCOVTEST \
+%endif
 %if 0%{?thread_number}
        -DN_THREADS=%{thread_number} \
 %endif
@@ -117,15 +127,24 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
 
 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
+
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
-
 %files
 %manifest %{name}.manifest
 %{_libdir}/lib*.so.*
@@ -151,3 +170,8 @@ make %{?jobs:-j%jobs}
 %{_includedir}/system_settings_util.h
 %{_libdir}/pkgconfig/*.pc
 %{_libdir}/lib*.so
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif