tizen 2.4 release
[framework/telephony/tel-plugin-dbus_tapi.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(dbus-tapi-plugin C)
3
4 ### Global setting ###
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "\${prefix}")
7 SET(LIBDIR "\${prefix}/lib")
8 SET(INCLUDEDIR "\${prefix}/include")
9 SET(PKGCONFIGDIR "${PREFIX}/lib/pkgconfig" CACHE PATH PKGCONFIGDIR)
10 SET(CMAKE_INSTALL_PREFIX "${PREFIX}")
11 SET(INTROSPECTION "${CMAKE_SOURCE_DIR}/introspection")
12
13 # Set required packages
14 INCLUDE(FindPkgConfig)
15 pkg_check_modules(pkgs REQUIRED
16         glib-2.0
17         gio-2.0
18         gio-unix-2.0
19         libxml-2.0
20         tcore
21         aul
22         appsvc
23         capi-appfw-app-manager
24         security-server
25 )
26
27 FOREACH(flag ${pkgs_CFLAGS})
28         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
29 ENDFOREACH(flag)
30
31
32 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/src/sat_ui_support/)
33
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wextra -fvisibility=hidden -fPIC -fdata-sections -ffunction-sections -Wl,--gc-sections")
36
37 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -O2 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wall -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wswitch-default -Wno-unused-but-set-parameter -Wno-unused-but-set-variable")
38
39 ADD_DEFINITIONS("-DENABLE_KPI_LOGS")
40 ADD_DEFINITIONS("-DGCF")
41 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
42 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"DBUS\"")
43 ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
44 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
45 #ADD_DEFINITIONS("-DTIZEN_USE_DESKTOP_FILE")
46 #ADD_DEFINITIONS("-DTIZEN_SUPPORT_SAT_ICON")
47
48 IF (BOARD_PLATFORM_QCOM)
49 ADD_DEFINITIONS("-DTIZEN_PLATFORM_USE_QCOM_QMI")
50 ENDIF (BOARD_PLATFORM_QCOM)
51
52 MESSAGE(${CMAKE_C_FLAGS})
53 MESSAGE(${pkgs_LDFLAGS})
54
55 SET(SRCS
56         src/desc-dtapi.c
57         src/dtapi_main.c
58         src/dtapi_common.c
59         src/dtapi_network.c
60         src/dtapi_phonebook.c
61         src/dtapi_sim.c
62         src/dtapi_sap.c
63         src/dtapi_sms.c
64         src/dtapi_sat.c
65         src/dtapi_sat_manager.c
66         src/sat_ui_support/sat_ui_support.c
67         src/dtapi_ss.c
68         src/dtapi_call.c
69         src/dtapi_modem.c
70         src/dtapi_oem.c
71 )
72
73 ADD_CUSTOM_COMMAND(
74         WORKING_DIRECTORY
75         OUTPUT ${CMAKE_BINARY_DIR}/generated-code.c
76         COMMAND gdbus-codegen --interface-prefix org.tizen.telephony. --generate-c-code generated-code --c-namespace Telephony --c-generate-object-manager --generate-docbook generated-docs
77         ${INTROSPECTION}/manager.xml
78         ${INTROSPECTION}/network.xml
79         ${INTROSPECTION}/sim.xml
80         ${INTROSPECTION}/phonebook.xml
81         ${INTROSPECTION}/sap.xml
82         ${INTROSPECTION}/sat.xml
83         ${INTROSPECTION}/sms.xml
84         ${INTROSPECTION}/call.xml
85         ${INTROSPECTION}/ss.xml
86         ${INTROSPECTION}/modem.xml
87         ${INTROSPECTION}/oem.xml
88         COMMENT "Generating GDBus .c/.h")
89
90 # library build
91 ADD_LIBRARY(dbus-tapi-plugin SHARED ${SRCS} ${CMAKE_BINARY_DIR}/generated-code.c)
92 TARGET_LINK_LIBRARIES(dbus-tapi-plugin ${pkgs_LDFLAGS})
93 SET_TARGET_PROPERTIES(dbus-tapi-plugin PROPERTIES PREFIX "" OUTPUT_NAME dbus-tapi-plugin)
94
95 # install
96 INSTALL(TARGETS dbus-tapi-plugin
97                 LIBRARY DESTINATION lib/telephony/plugins)
98 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME tel-plugin-dbus_tapi)