Reduce the complexity
[platform/core/telephony/tel-plugin-packetservice.git] / CMakeLists.txt
index 7ae08c3..ca79fbf 100644 (file)
@@ -5,7 +5,7 @@ PROJECT(ps-plugin C)
 
 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 SET(EXEC_PREFIX "\${prefix}")
-SET(LIBDIR "\${prefix}/lib")
+SET(LIBDIR ${LIB_INSTALL_DIR})
 SET(INCLUDEDIR "\${prefix}/include")
 SET(DATAROOTDIR "\${prefix}/share")
 if(NOT DEFINED SYSCONFDIR)
@@ -14,62 +14,58 @@ endif()
 
 # Set required packages
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 tcore libtzplatform-config iniparser)
+pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 tcore iniparser vconf alarm-service libxml-2.0
+       libtzplatform-config capi-system-device capi-system-info tfeature)
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp )
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/interface/ ${CMAKE_SOURCE_DIR}/interface/include ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp )
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -fvisibility=hidden -fPIC")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wcast-align")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wcast-align -Wall -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wswitch-default -Wno-unused-but-set-parameter -Wno-unused-but-set-variable")
 
 ### Purge unused code ###
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
 
+SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/lte)
+# The resource file dnet_db_init.sql is to be overwritten at post time for TV/IVI.
+
+# default definitions #
 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PS\"")
 ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
 
+# model definitions #
+ADD_DEFINITIONS("-DTIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL")
+
 MESSAGE(${CMAKE_C_FLAGS})
 MESSAGE(${pkgs_LDFLAGS})
 
 SET(SRCS
-       src/main.c
-       src/master.c
-       src/modem.c
-       src/service.c
-       src/context.c
-       src/tcore-interface.c
+       src/desc-ps.c
+       src/ps_main.c
+       src/ps_master.c
+       src/ps_modem.c
+       src/ps_service.c
+       src/ps_context.c
+       src/ps_tcore-interface.c
+       src/ps_hook.c
+       src/ps_log.c
+       src/ps_util.c
 )
 
-SET(INTROSPECTION_PATH ${CMAKE_SOURCE_DIR}/introspection)
-
-ADD_CUSTOM_COMMAND(
-       OUTPUT ${CMAKE_BINARY_DIR}/generated-code.c
-       COMMAND gdbus-codegen --interface-prefix com.tcore.ps.
-       --generate-c-code generated-code
-       --c-namespace PacketService
-       --c-generate-object-manager
-       --generate-docbook generated-docs
-       ${INTROSPECTION_PATH}/master.xml
-       ${INTROSPECTION_PATH}/modem.xml
-       ${INTROSPECTION_PATH}/service.xml
-       ${INTROSPECTION_PATH}/context.xml
-       COMMENT "Generating GDBus .c/.h"
-)
+ADD_SUBDIRECTORY(interface)
 
 # library build
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${CMAKE_BINARY_DIR}/generated-code.c)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "" OUTPUT_NAME ${PROJECT_NAME})
+ADD_LIBRARY(ps-plugin SHARED ${SRCS} ${INTERFACE_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/interface/generated-code.c)
+SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/interface/generated-code.c PROPERTIES GENERATED 1)
+ADD_DEPENDENCIES(ps-plugin generated_code)
+TARGET_LINK_LIBRARIES(ps-plugin ${pkgs_LDFLAGS})
+SET_TARGET_PROPERTIES(ps-plugin PROPERTIES PREFIX "" OUTPUT_NAME ps-plugin)
 
 # install
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/ps-plugin.conf DESTINATION ${SYSCONFDIR}/dbus-1/system.d)
 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db_data.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
-INSTALL(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${LIB_INSTALL_DIR}/telephony/plugins)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME tel-plugin-packetservice)
+INSTALL(FILES ${RES_DIR}/dnet_db_init.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
+INSTALL(TARGETS ps-plugin LIBRARY DESTINATION ${LIBDIR}/telephony/plugins)