[cleanup]revise build scripts and packaging 23/240823/4
authorYoungjae Shin <yj99.shin@samsung.com>
Wed, 12 Aug 2020 00:30:49 +0000 (09:30 +0900)
committerNiraj Kumar Goit <niraj.g@samsung.com>
Tue, 3 Aug 2021 04:49:07 +0000 (10:19 +0530)
Change-Id: I03496fcdb3d0c713b1f40e15940fed29fc24cfed

CMakeLists.txt
capi-network-wifi-manager.pc.in
packaging/capi-network-wifi-manager.spec
tools/connection-tool/CMakeLists.txt
tools/manager-tool/CMakeLists.txt

index f55da20..83132c0 100644 (file)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-SET(fw_name "capi-network-wifi-manager")
-
-PROJECT(${fw_name})
-
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-
-SET(LIB ${LIB_PATH})
-SET(LIBDIR ${PREFIX}/${LIB_PATH})
-
-SET(INC_DIR include)
-INCLUDE_DIRECTORIES(${INC_DIR})
-
-SET(dependents "dlog vconf capi-base-common capi-system-info glib-2.0 gio-2.0 gthread-2.0 ")
-SET(pc_dependents "capi-base-common")
+CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
+PROJECT("capi-network-wifi-manager")
 
 INCLUDE(FindPkgConfig)
-pkg_check_modules(${fw_name} REQUIRED ${dependents} ${APPFW_REQUIRED_PKGS})
-FOREACH(flag ${${fw_name}_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
-#SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-
-IF("${ARCH}" STREQUAL "arm")
-    ADD_DEFINITIONS("-DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
+INCLUDE_DIRECTORIES(include)
 
-ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
-ADD_DEFINITIONS("-DTIZEN_DEBUG")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
+SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
 
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIBDIR}")
+pkg_check_modules(pkgs REQUIRED dlog vconf capi-base-common capi-system-info glib-2.0
+       gio-2.0 gthread-2.0)
+INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS})
+LINK_DIRECTORIES(${pkgs_LIBRARY_DIRS})
 
-aux_source_directory(src SOURCES)
-ADD_LIBRARY(${fw_name} SHARED ${SOURCES})
+FILE(GLOB SRCS src/*.c)
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LIBRARIES})
+TARGET_COMPILE_OPTIONS(${PROJECT_NAME} PUBLIC ${pkgs_CFLAGS_OTHER})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER}
+       SOVERSION ${MAJORVER})
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
 
-TARGET_LINK_LIBRARIES(${fw_name} ${${fw_name}_LDFLAGS})
+INSTALL(DIRECTORY include/ DESTINATION ${INCLUDE_INSTALL_DIR}/network)
 
-SET_TARGET_PROPERTIES(${fw_name}
-     PROPERTIES
-     VERSION ${FULLVER}
-     SOVERSION ${MAJORVER}
-     CLEAN_DIRECT_OUTPUT 1
-)
-
-INSTALL(TARGETS ${fw_name} DESTINATION ${LIB})
-INSTALL(
-        DIRECTORY ${INC_DIR}/ DESTINATION include/network
-        FILES_MATCHING
-        PATTERN "network_*.h" EXCLUDE
-        PATTERN "wifi_*.h" EXCLUDE
-        PATTERN "${INC_DIR}/*.h"
-        )
-
-SET(PC_NAME ${fw_name})
-SET(PC_REQUIRED ${pc_dependents})
-SET(PC_LDFLAGS -l${fw_name})
-
-CONFIGURE_FILE(
-    ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
-    @ONLY
-)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIB}/pkgconfig)
+CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
+INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 
 ADD_SUBDIRECTORY(tools/manager-tool)
 ADD_SUBDIRECTORY(tools/connection-tool)
-ADD_SUBDIRECTORY(tests)
 
 IF(BUILD_GTESTS)
     ADD_SUBDIRECTORY(tests)
 ENDIF(BUILD_GTESTS)
-
-IF(UNIX)
-
-ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution)
-ADD_CUSTOM_COMMAND(
-        DEPENDS clean
-        COMMENT "distribution clean"
-        COMMAND find
-        ARGS    .
-        -not -name config.cmake -and \(
-        -name tester.c -or
-        -name Testing -or
-        -name CMakeFiles -or
-        -name cmake.depends -or
-        -name cmake.check_depends -or
-        -name CMakeCache.txt -or
-        -name cmake.check_cache -or
-        -name *.cmake -or
-        -name Makefile -or
-        -name core -or
-        -name core.* -or
-        -name gmon.out -or
-        -name install_manifest.txt -or
-        -name *.pc -or
-        -name *~ \)
-        | grep -v TC | xargs rm -rf
-        TARGET  distclean
-        VERBATIM
-)
-
-ENDIF(UNIX)
index d86dd03..d161205 100644 (file)
@@ -1,13 +1,10 @@
-# Package Information for pkg-config
-
-prefix=@PREFIX@
-exec_prefix=/usr
+prefix=@CMAKE_INSTALL_PREFIX@
 libdir=@LIB_INSTALL_DIR@
 includedir=@INCLUDE_INSTALL_DIR@/network
 
-Name: @PC_NAME@
-Description: @PACKAGE_DESCRIPTION@
+Name: @PROJECT_NAME@
+Description: Tizen Network Wi-Fi Manager
 Version: @VERSION@
-Requires: @PC_REQUIRED@
-Libs: -L${libdir} @PC_LDFLAGS@
+Requires: capi-base-common
+Libs: -L${libdir} -l@PROJECT_NAME@
 Cflags: -I${includedir}
index b315783..ab659af 100644 (file)
@@ -16,39 +16,39 @@ BuildRequires:      pkgconfig(capi-base-common)
 BuildRequires: pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(capi-appfw-application)
 BuildRequires: pkgconfig(gmock)
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
 %if 0%{?gcov:1}
 BuildRequires: lcov
+BuildRequires: tar
 %endif
-Requires(post):                /sbin/ldconfig
-Requires(postun):      /sbin/ldconfig
 
 %description
 Network Wi-Fi Manager library in Tizen C API
 
 %package devel
-Summary:       Network Wi-Fi Manager library in Tizen C API (Development)
-Group:         System/Network
-Requires:      %{name} = %{version}-%{release}
+Summary: Network Wi-Fi Manager library in Tizen C API (Development)
+Group: Network & Connectivity/Development
+Requires: %{name} = %{version}-%{release}
 
 %description devel
 Network Wi-Fi Manager library in Tizen C API (Development)
 
 %package tool
-Summary:       Test Application for Wi-Fi Manager
+Summary: Test Application for Wi-Fi Manager
+Group: Network & Connectivity/Utilities
+Requires: %{name} = %{version}
 
 %description tool
 Test Application for Wi-Fi Manager
 
 %if 0%{?gcov:1}
 %package gcov
-Summary:       Network Wi-Fi manager library(gcov)
-Group:         Network/Testing
-BuildRequires: pkgconfig(gmock)
-BuildRequires:  lcov
-BuildRequires:  tar
+Summary: Coverage Data of %{name}
+Group: Network & Connectivity/Testing
 
 %description gcov
-gcov objects for coverage test
+The %{name}-gcov pacakge contains gcov objects
 %endif
 
 %prep
@@ -63,14 +63,10 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage"
 export LDFLAGS+=" -lgcov"
 %endif
 
-export CFLAGS+=' -Wno-unused-local-typedefs'
-#export CFLAGS+=' -Wno-unused-local-typedefs -fprofile-arcs -ftest-coverage'
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-cmake -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
-      -DLIB_INSTALL_DIR=%{_libdir} -DINCLUDE_INSTALL_DIR=%{_includedir} \
-      -DBIN_DIR=%{_bindir} -DLIB_PATH=%{_lib} \
-      -DBUILD_GTESTS=%{?gcov:1}%{!?gcov:0} \
-      .
+%cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
+       -DCMAKE_VERBOSE_MAKEFILE=OFF \
+       -DBIN_INSTALL_DIR:PATH=%{_bindir}
 
 make %{?_smp_mflags}
 
@@ -81,29 +77,24 @@ make %{?_smp_mflags}
 find .. -name '*.gcno' | tar cf %{name}-gcov.tar -T -
 install -d -m 755 %{buildroot}%{_datadir}/gcov/obj
 tar xf %{name}-gcov.tar -C %{buildroot}%{_datadir}/gcov/obj
-
-%check
-tests/gtest-wifi-manager
-lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
-genhtml %{name}.info -o out --legend --show-details
 %endif
 
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
-
 %files
-%manifest capi-network-wifi-manager.manifest
-%attr(644,-,-) %{_libdir}/libcapi-network-wifi-manager.so.*
+%manifest %{name}.manifest
+%{_libdir}/lib%{name}.so.*
 %license LICENSE.APLv2
 
 %files devel
 %{_includedir}/network/*.h
-%{_libdir}/pkgconfig/*.pc
-%{_libdir}/libcapi-network-wifi-manager.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_libdir}/lib%{name}.so
 
 %files tool
+%manifest %{name}.manifest
 %{_bindir}/wifi_manager_test
 %{_bindir}/wifi_mgr_tool
 %{_bindir}/wifi_connect_tool
@@ -111,5 +102,5 @@ genhtml %{name}.info -o out --legend --show-details
 
 %if 0%{?gcov:1}
 %files gcov
-%{_datadir}/gcov/obj/*
+%{_datadir}/gcov/*
 %endif
index 413ff60..322be1e 100644 (file)
@@ -4,6 +4,6 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
 
 FILE(GLOB CON_TOOL_SRCS *.c)
 ADD_EXECUTABLE(${WIFI_CON_TOOL} ${CON_TOOL_SRCS})
-TARGET_LINK_LIBRARIES(${WIFI_CON_TOOL} ${fw_name})
+TARGET_LINK_LIBRARIES(${WIFI_CON_TOOL} ${PROJECT_NAME})
 SET_TARGET_PROPERTIES(${WIFI_CON_TOOL} PROPERTIES POSITION_INDEPENDENT_CODE ON)
-INSTALL(TARGETS ${WIFI_CON_TOOL} DESTINATION ${BIN_DIR})
+INSTALL(TARGETS ${WIFI_CON_TOOL} DESTINATION ${BIN_INSTALL_DIR})
\ No newline at end of file
index f489cab..6f6ff7e 100644 (file)
@@ -4,15 +4,15 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
 
 FILE(GLOB MGR_TOOL_SRCS wifi_mgr*.c)
 ADD_EXECUTABLE(${WIFI_MGR_TOOL} ${MGR_TOOL_SRCS})
-TARGET_LINK_LIBRARIES(${WIFI_MGR_TOOL} ${fw_name})
+TARGET_LINK_LIBRARIES(${WIFI_MGR_TOOL} ${PROJECT_NAME})
+SET_TARGET_PROPERTIES(${WIFI_MGR_TOOL} PROPERTIES POSITION_INDEPENDENT_CODE ON)
 
 SET(wifi_manager_test_src
        wifi_manager_test.c
 )
 
 ADD_EXECUTABLE(wifi_manager_test ${wifi_manager_test_src})
-TARGET_LINK_LIBRARIES(wifi_manager_test ${fw_name})
+TARGET_LINK_LIBRARIES(wifi_manager_test ${PROJECT_NAME})
 
-SET_TARGET_PROPERTIES(${WIFI_MGR_TOOL} PROPERTIES POSITION_INDEPENDENT_CODE ON)
-INSTALL(TARGETS ${WIFI_MGR_TOOL} DESTINATION ${BIN_DIR})
-INSTALL(TARGETS wifi_manager_test DESTINATION ${BIN_DIR})
+INSTALL(TARGETS ${WIFI_MGR_TOOL} DESTINATION ${BIN_INSTALL_DIR})
+INSTALL(TARGETS wifi_manager_test DESTINATION ${BIN_INSTALL_DIR})