RSA sync with private
[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_C_FLAGS} ${EXTRA_CFLAGS} -O0 -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         ${CMAKE_SOURCE_DIR}/framework/plugin-manager/MsgPluginConfig.cpp
20 )
21
22 INCLUDE_DIRECTORIES(
23     ${CMAKE_SOURCE_DIR}/include/mapi
24         ${CMAKE_SOURCE_DIR}/include/common
25         ${CMAKE_SOURCE_DIR}/include/framework
26         ${CMAKE_SOURCE_DIR}/include/utils
27 )
28
29 INCLUDE(FindPkgConfig)
30 pkg_check_modules(plugin_manager_pkgs REQUIRED glib-2.0 dlog vconf)
31
32 FOREACH(flag ${plugin_manager_pkgs_CFLAGS})
33         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
34 ENDFOREACH(flag)
35
36 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
37
38 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
39
40 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
41
42 ADD_LIBRARY(${PLUGIN-MANAGER-LIB} SHARED ${PLUGIN-MANAGER-SRCS})
43 TARGET_LINK_LIBRARIES(${PLUGIN-MANAGER-LIB} ${plugin_manager_pkgs_LDFLAGS} ${UTILS-LIB} dl)
44
45 INSTALL(TARGETS ${PLUGIN-MANAGER-LIB} LIBRARY DESTINATION lib)
46
47 ##########################################################
48 # Define Messaging Framework Handler
49 ##########################################################
50
51 SET(FW-HANDLER-SRCS
52         ${CMAKE_SOURCE_DIR}/framework/setting-handler/MsgSettingHandler.cpp
53         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageManager.cpp
54         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageMessage.cpp
55         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageMms.cpp
56         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageFolder.cpp
57         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageFilter.cpp
58         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageSim.cpp
59         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageUtil.cpp
60         ${CMAKE_SOURCE_DIR}/framework/submit-handler/MsgSubmitHandler.cpp
61         ${CMAKE_SOURCE_DIR}/framework/deliver-handler/MsgDeliverHandler.cpp
62 )
63
64 INCLUDE_DIRECTORIES(
65     ${CMAKE_SOURCE_DIR}/include/mapi
66         ${CMAKE_SOURCE_DIR}/include/common
67         ${CMAKE_SOURCE_DIR}/include/framework
68         ${CMAKE_SOURCE_DIR}/include/utils
69         ${CMAKE_SOURCE_DIR}/vobject-engine/include      
70 )
71
72 INCLUDE(FindPkgConfig)
73 pkg_check_modules(fw_handler_pkgs REQUIRED glib-2.0 dlog vconf capi-appfw-application)
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_C_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} ${PLUGIN-MANAGER-LIB})
87
88 INSTALL(TARGETS ${FW-HANDLER-LIB} DESTINATION lib 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/utils
107 )
108
109 INCLUDE(FindPkgConfig)
110 pkg_check_modules(trans_manager_pkgs REQUIRED glib-2.0 security-server dlog vconf)
111
112 FOREACH(flag ${trans_manager_pkgs_CFLAGS})
113         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
114 ENDFOREACH(flag)
115
116 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
117
118 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
119
120 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
121
122 ADD_LIBRARY(${TRANS-MANAGER-LIB} SHARED ${TRANS-MANAGER-SRCS})
123 TARGET_LINK_LIBRARIES(${TRANS-MANAGER-LIB} ${trans_manager_pkgs_LDFLAGS} ${UTILS-LIB} ${FW-HANDLER-LIB})
124
125 INSTALL(TARGETS ${TRANS-MANAGER-LIB} DESTINATION lib COMPONENT RuntimeLibraries)
126
127 ##########################################################
128 # Define Execute File
129 ##########################################################
130
131 SET(MAIN-SRCS
132         ${CMAKE_SOURCE_DIR}/framework/main.cpp
133 )
134
135 INCLUDE_DIRECTORIES(
136     ${CMAKE_SOURCE_DIR}/include/mapi
137         ${CMAKE_SOURCE_DIR}/include/common
138         ${CMAKE_SOURCE_DIR}/include/framework
139         ${CMAKE_SOURCE_DIR}/include/utils
140 )
141
142 INCLUDE(FindPkgConfig)
143 pkg_check_modules(main_pkgs REQUIRED glib-2.0 dbus-glib-1 dlog vconf)
144
145 FOREACH(flag ${main_pkgs_CFLAGS})
146         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
147 ENDFOREACH(flag)
148
149 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
150
151 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
152
153 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
154
155 ADD_EXECUTABLE(${PROJECT_NAME} ${MAIN-SRCS})
156 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${main_pkgs_LDFLAGS} ${UTILS-LIB} ${PLUGIN-MANAGER-LIB} ${TRANS-MANAGER-LIB} ${FW-HANDLER-LIB})
157
158 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
159