-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)
-# 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}
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
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}
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
%if 0%{?gcov:1}
%files gcov
-%{_datadir}/gcov/obj/*
+%{_datadir}/gcov/*
%endif
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
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})