update tizen source
[framework/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/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_C_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 lib)
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/MsgStorageSim.cpp
57         ${CMAKE_SOURCE_DIR}/framework/storage-handler/MsgStorageUtil.cpp
58         ${CMAKE_SOURCE_DIR}/framework/submit-handler/MsgSubmitHandler.cpp
59         ${CMAKE_SOURCE_DIR}/framework/deliver-handler/MsgDeliverHandler.cpp
60 )
61
62 INCLUDE_DIRECTORIES(
63         ${CMAKE_SOURCE_DIR}/include/common
64         ${CMAKE_SOURCE_DIR}/include/framework
65         ${CMAKE_SOURCE_DIR}/include/utils
66 )
67
68 INCLUDE(FindPkgConfig)
69 pkg_check_modules(fw_handler_pkgs REQUIRED glib-2.0 dlog vconf capi-appfw-application)
70
71 FOREACH(flag ${fw_handler_pkgs_CFLAGS})
72         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -std=c++0x")
73 ENDFOREACH(flag)
74
75 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
76
77 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
78
79 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
80
81 ADD_LIBRARY(${FW-HANDLER-LIB} SHARED ${FW-HANDLER-SRCS})
82 TARGET_LINK_LIBRARIES(${FW-HANDLER-LIB} ${fw_handler_pkgs_LDFLAGS} ${UTILS-LIB} ${PLUGIN-MANAGER-LIB})
83
84 INSTALL(TARGETS ${FW-HANDLER-LIB} DESTINATION lib COMPONENT RuntimeLibraries)
85
86 ##########################################################
87 # Define Transaction Manager
88 ##########################################################
89
90 SET(TRANS-MANAGER-SRCS
91         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerSetting.cpp
92         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerStorage.cpp
93         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgCmdHandlerTransport.cpp
94         ${CMAKE_SOURCE_DIR}/framework/transaction-manager/MsgTransManager.cpp
95 )
96
97 INCLUDE_DIRECTORIES(
98         ${CMAKE_SOURCE_DIR}/include/common
99         ${CMAKE_SOURCE_DIR}/include/framework
100         ${CMAKE_SOURCE_DIR}/include/utils
101 )
102
103 INCLUDE(FindPkgConfig)
104 pkg_check_modules(trans_manager_pkgs REQUIRED glib-2.0 security-server dlog vconf)
105
106 FOREACH(flag ${trans_manager_pkgs_CFLAGS})
107         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
108 ENDFOREACH(flag)
109
110 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
111
112 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
113
114 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
115
116 ADD_LIBRARY(${TRANS-MANAGER-LIB} SHARED ${TRANS-MANAGER-SRCS})
117 TARGET_LINK_LIBRARIES(${TRANS-MANAGER-LIB} ${trans_manager_pkgs_LDFLAGS} ${UTILS-LIB} ${FW-HANDLER-LIB})
118
119 INSTALL(TARGETS ${TRANS-MANAGER-LIB} DESTINATION lib COMPONENT RuntimeLibraries)
120
121 ##########################################################
122 # Define Execute File
123 ##########################################################
124
125 SET(MAIN-SRCS
126         ${CMAKE_SOURCE_DIR}/framework/main.cpp
127 )
128
129 INCLUDE_DIRECTORIES(
130         ${CMAKE_SOURCE_DIR}/include/common
131         ${CMAKE_SOURCE_DIR}/include/framework
132         ${CMAKE_SOURCE_DIR}/include/utils
133 )
134
135 INCLUDE(FindPkgConfig)
136 pkg_check_modules(main_pkgs REQUIRED glib-2.0 dbus-glib-1 dlog vconf)
137
138 FOREACH(flag ${main_pkgs_CFLAGS})
139         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
140 ENDFOREACH(flag)
141
142 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
143
144 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
145
146 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
147
148 ADD_EXECUTABLE(${PROJECT_NAME} ${MAIN-SRCS})
149 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${main_pkgs_LDFLAGS} ${UTILS-LIB} ${PLUGIN-MANAGER-LIB} ${TRANS-MANAGER-LIB} ${FW-HANDLER-LIB})
150
151 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
152