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)
# Set required packages
INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 dbus-glib-1 dlog tcore iniparser)
+pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 tcore iniparser vconf alarm-service libxml-2.0)
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp )
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -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")
-ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG")
-ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TEL_PLUGIN_PACKETSERVICE\"")
+### Purge unused code ###
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
+# model definitions #
+IF (CONNECT_DEFAULT_CONNECTION_WITHOUT_TIMER)
+ ADD_DEFINITIONS("-DCONNECT_DEFAULT_CONNECTION_WITHOUT_TIMER")
+ENDIF (CONNECT_DEFAULT_CONNECTION_WITHOUT_TIMER)
+
+IF (SUPPORT_VOLTE)
+ SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/lte)
+ELSE ()
+ SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/3g)
+ ADD_DEFINITIONS("-DTIZEN_PS_IPV4_ONLY")
+ENDIF ()
+ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
+ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PS\"")
+ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
+ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
+#ADD_DEFINITIONS("-DTIZEN_UPS_ENABLED")
+IF(PREPAID_SIM_APN_SUPPORT)
+ ADD_DEFINITIONS("-DPREPAID_SIM_APN_SUPPORT")
+ENDIF(PREPAID_SIM_APN_SUPPORT)
+
+#ADD_DEFINITIONS("-DPOWER_SAVING_FEATURE_WEARABLE")
MESSAGE(${CMAKE_C_FLAGS})
-MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
+MESSAGE(${pkgs_LDFLAGS})
SET(SRCS
- src/main.c
- src/master.c
- src/modem.c
- src/service.c
- src/context.c
- src/error.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_log.c
+ src/ps_util.c
+ ${CMAKE_BINARY_DIR}/generated-code.c
)
+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 ${CMAKE_SOURCE_DIR}/introspection/master.xml ${CMAKE_SOURCE_DIR}/introspection/modem.xml ${CMAKE_SOURCE_DIR}/introspection/service.xml ${CMAKE_SOURCE_DIR}/introspection/context.xml
+ COMMENT "Generating GDBus .c/.h")
+
# library build
ADD_LIBRARY(ps-plugin SHARED ${SRCS})
TARGET_LINK_LIBRARIES(ps-plugin ${pkgs_LDFLAGS})
SET_TARGET_PROPERTIES(ps-plugin PROPERTIES PREFIX "" OUTPUT_NAME ps-plugin)
-ADD_CUSTOM_TARGET(ps-iface-master-glue.h
- COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_master
- --output=${CMAKE_SOURCE_DIR}/include/ps-iface-master-glue.h
- ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-master.xml
- DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-master.xml
-)
-ADD_CUSTOM_TARGET(ps-iface-modem-glue.h
- COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_modem
- --output=${CMAKE_SOURCE_DIR}/include/ps-iface-modem-glue.h
- ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-modem.xml
- DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-modem.xml
-)
-ADD_CUSTOM_TARGET(ps-iface-service-glue.h
- COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_service
- --output=${CMAKE_SOURCE_DIR}/include/ps-iface-service-glue.h
- ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-service.xml
- DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-service.xml
-)
-ADD_CUSTOM_TARGET(ps-iface-context-glue.h
- COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_context
- --output=${CMAKE_SOURCE_DIR}/include/ps-iface-context-glue.h
- ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-context.xml
- DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-context.xml
-)
-
-ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-master-glue.h)
-ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-modem-glue.h)
-ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-service-glue.h)
-ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-context-glue.h)
-
# 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 ps-plugin LIBRARY DESTINATION lib/telephony/plugins)
+INSTALL(FILES ${RES_DIR}/dnet_db_init.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
+#INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/apns-conf.xml DESTINATION ${DATAROOTDIR}/ps-plugin)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dump_packetservice.sh DESTINATION /opt/etc/dump.d/module.d)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/520.tel-plugin-packetservice.patch.sh DESTINATION ${SYSCONFDIR}/opt/upgrade)
+INSTALL(TARGETS ps-plugin LIBRARY DESTINATION ${LIBDIR}/telephony/plugins)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME tel-plugin-packetservice)
+
+IF (TIZEN_ENGINEER_MODE)
+# ADD_SUBDIRECTORY(test_src)
+ENDIF (TIZEN_ENGINEER_MODE)
+