Increase memory limit
[platform/core/messaging/msg-service.git] / framework / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(msg-server CXX)
3
4 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
5
6 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
7         SET(CMAKE_BUILD_TYPE "Debug")
8 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
9 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
10
11 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -O2 -g -Wall")
12
13 #########################################################
14 # Define Plugin Manager
15 ##########################################################
16
17 SET(PLUGIN-MANAGER-SRCS
18         ${CMAKE_SOURCE_DIR}/framework/plugin-manager/MsgPluginManager.cpp
19 )
20
21 INCLUDE_DIRECTORIES(
22         ${CMAKE_SOURCE_DIR}/include/mapi
23         ${CMAKE_SOURCE_DIR}/include/common
24         ${CMAKE_SOURCE_DIR}/include/framework
25         ${CMAKE_SOURCE_DIR}/include/utils
26 )
27
28 INCLUDE(FindPkgConfig)
29 pkg_check_modules(plugin_manager_pkgs REQUIRED glib-2.0 dlog vconf)
30
31 FOREACH(flag ${plugin_manager_pkgs_CFLAGS})
32         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
33 ENDFOREACH(flag)
34
35 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
36
37 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
38
39 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
40
41 ADD_LIBRARY(${PLUGIN-MANAGER-LIB} SHARED ${PLUGIN-MANAGER-SRCS})
42 TARGET_LINK_LIBRARIES(${PLUGIN-MANAGER-LIB} ${plugin_manager_pkgs_LDFLAGS} ${UTILS-LIB} dl)
43
44 INSTALL(TARGETS ${PLUGIN-MANAGER-LIB} LIBRARY DESTINATION ${LIBDIR})
45
46 ##########################################################
47 # Define Messaging Framework Handler
48 ##########################################################
49
50 SET(FW-HANDLER-SRCS
51         ${CMAKE_SOURCE_DIR}/framework/setting-handler/MsgSettingHandler.cpp
52         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageManager.cpp
53         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageMessage.cpp
54         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageMms.cpp
55         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageFolder.cpp
56         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageFilter.cpp
57         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageSim.cpp
58         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageUtil.cpp
59         ${CMAKE_SOURCE_DIR}/framework/submit-handler/MsgSubmitHandler.cpp
60         ${CMAKE_SOURCE_DIR}/framework/deliver-handler/MsgDeliverHandler.cpp
61 )
62
63 INCLUDE_DIRECTORIES(
64         ${CMAKE_SOURCE_DIR}/include/mapi
65         ${CMAKE_SOURCE_DIR}/include/common
66         ${CMAKE_SOURCE_DIR}/include/framework
67         ${CMAKE_SOURCE_DIR}/include/utils
68         ${CMAKE_SOURCE_DIR}/include/externals
69         ${CMAKE_SOURCE_DIR}/vobject-engine/include
70 )
71
72 INCLUDE(FindPkgConfig)
73 pkg_check_modules(fw_handler_pkgs REQUIRED glib-2.0 gio-2.0 dlog vconf)
74
75 FOREACH(flag ${fw_handler_pkgs_CFLAGS})
76         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -std=c++0x")
77 ENDFOREACH(flag)
78
79 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
80
81 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
82
83 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
84
85 ADD_LIBRARY(${FW-HANDLER-LIB} SHARED ${FW-HANDLER-SRCS})
86 TARGET_LINK_LIBRARIES(${FW-HANDLER-LIB} ${fw_handler_pkgs_LDFLAGS} ${UTILS-LIB} ${EXTERNALS-LIB} ${PLUGIN-MANAGER-LIB})
87
88 INSTALL(TARGETS ${FW-HANDLER-LIB} DESTINATION ${LIBDIR} COMPONENT RuntimeLibraries)
89
90 ##########################################################
91 # Define Transaction Manager
92 ##########################################################
93
94 SET(TRANS-MANAGER-SRCS
95         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerSetting.cpp
96         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerStorage.cpp
97         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerTransport.cpp
98         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerFilter.cpp
99         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgTransManager.cpp
100 )
101
102 INCLUDE_DIRECTORIES(
103         ${CMAKE_SOURCE_DIR}/include/mapi
104         ${CMAKE_SOURCE_DIR}/include/common
105         ${CMAKE_SOURCE_DIR}/include/framework
106         ${CMAKE_SOURCE_DIR}/include/externals
107         ${CMAKE_SOURCE_DIR}/include/utils
108 )
109
110 INCLUDE(FindPkgConfig)
111 pkg_check_modules(trans_manager_pkgs REQUIRED glib-2.0 dlog vconf bundle eventsystem cynara-client cynara-creds-socket cynara-session cynara-creds-commons)
112
113 FOREACH(flag ${trans_manager_pkgs_CFLAGS})
114         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
115 ENDFOREACH(flag)
116
117 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
118
119 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
120
121 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
122
123 ADD_LIBRARY(${TRANS-MANAGER-LIB} SHARED ${TRANS-MANAGER-SRCS})
124 TARGET_LINK_LIBRARIES(${TRANS-MANAGER-LIB} ${trans_manager_pkgs_LDFLAGS} ${UTILS-LIB} ${EXTERNALS-LIB} ${FW-HANDLER-LIB})
125
126 INSTALL(TARGETS ${TRANS-MANAGER-LIB} DESTINATION ${LIBDIR} COMPONENT RuntimeLibraries)
127
128 ##########################################################
129 # Define Execute File
130 ##########################################################
131
132 SET(MAIN-SRCS
133         ${CMAKE_SOURCE_DIR}/framework/main.cpp
134         ${CMAKE_SOURCE_DIR}/framework/MsgDPMUtils.cpp
135 )
136
137 INCLUDE_DIRECTORIES(
138         ${CMAKE_SOURCE_DIR}/include/mapi
139         ${CMAKE_SOURCE_DIR}/include/common
140         ${CMAKE_SOURCE_DIR}/include/framework
141         ${CMAKE_SOURCE_DIR}/include/externals
142         ${CMAKE_SOURCE_DIR}/include/utils
143 )
144
145 INCLUDE(FindPkgConfig)
146 pkg_check_modules(main_pkgs REQUIRED glib-2.0 dlog vconf dpm)
147
148 FOREACH(flag ${main_pkgs_CFLAGS})
149         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
150 ENDFOREACH(flag)
151
152 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
153 SET(server_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
154
155 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
156
157 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
158
159 ADD_EXECUTABLE(${PROJECT_NAME} ${MAIN-SRCS})
160 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${main_pkgs_LDFLAGS} ${UTILS-LIB} ${EXTERNALS-LIB} ${PLUGIN-MANAGER-LIB} ${TRANS-MANAGER-LIB} ${FW-HANDLER-LIB})
161
162 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${server_CXX_FLAGS}")
163
164 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
165