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\"")
# 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)
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)
%define major 0
%define minor 3
-%define patchlevel 32
+%define patchlevel 33
Name: libtcore
Version: %{major}.%{minor}.%{patchlevel}
%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} \
%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
%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,-)
%{_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