From a36df75e8fbe21abf7ec271a7cc5b46cbf28d13f Mon Sep 17 00:00:00 2001 From: sinikang Date: Fri, 24 Apr 2020 15:24:18 +0900 Subject: [PATCH] Modify the package config for coverage Change-Id: I66abfe846dbfb7637696add0dc5e831bc3e004c0 Signed-off-by: sinikang --- CMakeLists.txt | 18 +++++++++--------- packaging/libtcore.spec | 36 ++++++++++++++++++++++++++++-------- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac14d91..0eb4b98 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,11 +22,11 @@ INCLUDE_DIRECTORIES( SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR}/include ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align -O2 -Wall -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wwrite-strings -Wswitch-default -Wno-unused-but-set-variable") -IF (BUILD_GTESTS) +IF (BUILD_GCOV) # -fvisibility option should be "default" to call internal functions for gtest SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=default -fPIC -Wno-unused-function -fprofile-arcs -ftest-coverage") ADD_DEFINITIONS("-DTCORE_HAL_TEST") -ENDIF (BUILD_GTESTS) +ENDIF (BUILD_GCOV) ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG") ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TCORE\"") @@ -76,11 +76,11 @@ SET(SRCS # library build ADD_LIBRARY(tcore SHARED ${SRCS}) -IF (BUILD_GTESTS) +IF (BUILD_GCOV) TARGET_LINK_LIBRARIES(tcore ${pkgs_LDFLAGS} -ldl -lgcov) -ELSE (BUILD_GTESTS) +ELSE (BUILD_GCOV) TARGET_LINK_LIBRARIES(tcore ${pkgs_LDFLAGS}) -ENDIF (BUILD_GTESTS) +ENDIF (BUILD_GCOV) SET_TARGET_PROPERTIES(tcore PROPERTIES VERSION 0.0.0 SOVERSION 0 OUTPUT_NAME tcore) @@ -95,15 +95,15 @@ INSTALL(TARGETS tcore LIBRARY DESTINATION ${LIBDIR}) # adding for HAL test support -IF (BUILD_GTESTS) +IF (BUILD_GCOV) INSTALL(TARGETS tcore DESTINATION ${LIBDIR} COMPONENT RuntimeLibraries) -ENDIF (BUILD_GTESTS) +ENDIF (BUILD_GCOV) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tcore.pc DESTINATION ${LIBDIR}/pkgconfig) #gtest pkg build -IF (BUILD_GTESTS) +IF (BUILD_GCOV) ADD_SUBDIRECTORY(gtest) -ENDIF (BUILD_GTESTS) +ENDIF (BUILD_GCOV) #ADD_SUBDIRECTORY(unit-test) diff --git a/packaging/libtcore.spec b/packaging/libtcore.spec index f03d11a..7510fed 100644 --- a/packaging/libtcore.spec +++ b/packaging/libtcore.spec @@ -1,6 +1,6 @@ %define major 0 %define minor 3 -%define patchlevel 32 +%define patchlevel 33 Name: libtcore Version: %{major}.%{minor}.%{patchlevel} @@ -27,22 +27,31 @@ Requires: %{name} = %{version} %description devel Telephony-core library (Development) -%if 0%{?gtest:1} -%package test +%if 0%{?gcov:1} +%package gcov Summary: Test package for libtcore Group: TO_BE/FILLED BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(gmock) +BuildRequires: lcov Requires: %{name} = %{version}-%{release} -%description test -This package is a test application for libtcore +%description gcov +This package is a gcov test application for libtcore %endif %prep %setup -q %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 + cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DLIB_INSTALL_DIR=%{_libdir} \ -DVERSION=%{version} \ @@ -50,10 +59,15 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \ %else -DARCH_EMUL=1 \ %endif - -DBUILD_GTESTS=%{?gtest:1}%{!?gtest:0} + -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} make %{?_smp_mflags} +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . -name '*.gcno' -exec cp '{}' gcov-obj ';' +%endif + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -61,6 +75,11 @@ make %{?_smp_mflags} %install %make_install +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + %files %manifest libtcore.manifest %defattr(644,root,root,-) @@ -73,9 +92,10 @@ make %{?_smp_mflags} %{_libdir}/pkgconfig/tcore.pc %{_libdir}/*.so -%if 0%{?gtest:1} -%files test +%if 0%{?gcov:1} +%files gcov %manifest libtcore.manifest %{_bindir}/gtest-libtcore %{_libdir}/*.so +%{_datadir}/gcov/obj/* %endif -- 2.7.4