Add new features and fixes
[platform/core/telephony/tel-plugin-packetservice.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ps-plugin C)
3
4 #INCLUDE(FindPkgConfig)
5
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7 SET(EXEC_PREFIX "\${prefix}")
8 SET(LIBDIR ${LIB_INSTALL_DIR})
9 SET(INCLUDEDIR "\${prefix}/include")
10 SET(DATAROOTDIR "\${prefix}/share")
11 if(NOT DEFINED SYSCONFDIR)
12         SET(SYSCONFDIR "/etc")
13 endif()
14
15 # Set required packages
16 INCLUDE(FindPkgConfig)
17 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)
18
19 FOREACH(flag ${pkgs_CFLAGS})
20         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
21 ENDFOREACH(flag)
22
23 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp )
24
25 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")
26
27 ### Purge unused code ###
28 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
29
30 IF (CONNECT_DEFAULT_CONNECTION_WITHOUT_TIMER)
31   ADD_DEFINITIONS("-DCONNECT_DEFAULT_CONNECTION_WITHOUT_TIMER")
32 ENDIF (CONNECT_DEFAULT_CONNECTION_WITHOUT_TIMER)
33
34 IF (TIZEN_PROFILE_IVI)
35   SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/ivi)
36 ELSE ()
37   IF (SUPPORT_VOLTE)
38     ADD_DEFINITIONS("-DTIZEN_SUPPORT_VOLTE")
39     SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/lte)
40   ELSE ()
41     SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/3g)
42   ENDIF ()
43 ENDIF ()
44
45 # default definitions #
46 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
47 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PS\"")
48 ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
49 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
50 ADD_DEFINITIONS("-DTIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL")
51 IF(PREPAID_SIM_APN_SUPPORT)
52         ADD_DEFINITIONS("-DPREPAID_SIM_APN_SUPPORT")
53 ENDIF(PREPAID_SIM_APN_SUPPORT)
54
55 MESSAGE(${CMAKE_C_FLAGS})
56 MESSAGE(${pkgs_LDFLAGS})
57
58 SET(SRCS
59         src/desc-ps.c
60         src/ps_main.c
61         src/ps_master.c
62         src/ps_modem.c
63         src/ps_service.c
64         src/ps_context.c
65         src/ps_tcore-interface.c
66         src/ps_log.c
67         src/ps_util.c
68         ${CMAKE_BINARY_DIR}/generated-code.c
69 )
70
71 ADD_CUSTOM_COMMAND(
72         OUTPUT ${CMAKE_BINARY_DIR}/generated-code.c
73         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
74         COMMENT "Generating GDBus .c/.h")
75
76 # library build
77 ADD_LIBRARY(ps-plugin SHARED ${SRCS})
78 TARGET_LINK_LIBRARIES(ps-plugin ${pkgs_LDFLAGS})
79 SET_TARGET_PROPERTIES(ps-plugin PROPERTIES PREFIX "" OUTPUT_NAME ps-plugin)
80
81 # install
82 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
83 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db_upgrade_24_30.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
84 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/500.dnet_db_upgrade_24_30.sh DESTINATION ${DATAROOTDIR}/upgrade/scripts)
85 INSTALL(FILES ${RES_DIR}/dnet_db_init.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
86 #INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/apns-conf.xml DESTINATION ${DATAROOTDIR}/ps-plugin)
87 INSTALL(TARGETS ps-plugin LIBRARY DESTINATION ${LIBDIR}/telephony/plugins)
88 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION ${DATAROOTDIR}/license RENAME tel-plugin-packetservice)
89
90 IF (TIZEN_ENGINEER_MODE)
91 #  ADD_SUBDIRECTORY(test_src)
92 ENDIF (TIZEN_ENGINEER_MODE)
93