Add a manifest file for each profile
[apps/native/starter.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(starter C)
3
4 SET(PACKAGE ${PROJECT_NAME})
5 SET(PKGNAME "org.tizen.${PACKAGE}")
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7 SET(BINDIR "${PREFIX}/bin")
8 SET(DATADIR "${PREFIX}/share")
9 SET(RESDIR "${PREFIX}/res")
10 SET(LOCALEDIR "${PREFIX}/share/locale")
11
12 IF("${TIZEN_PROFILE_NAME}" STREQUAL "COMMON")
13
14 INCLUDE_DIRECTORIES(
15         ${CMAKE_SOURCE_DIR}/include
16         ${CMAKE_SOURCE_DIR}/include/common
17 )
18 INCLUDE(FindPkgConfig)
19 pkg_check_modules(pkgs REQUIRED
20         aul
21         capi-system-media-key
22         db-util
23         dlog
24         ecore
25         ecore-wayland
26         ecore-evas
27         ecore-input
28         edbus
29         eina
30         elementary
31         evas
32         syspopup-caller
33         vconf
34         appcore-efl
35         glib-2.0
36         ui-gadget-1
37         bundle
38         capi-appfw-application
39         capi-appfw-app-manager
40         capi-network-bluetooth
41         capi-system-system-settings
42         feedback
43         alarm-service
44         pkgmgr-info
45         deviced
46         edbus
47         dbus-1
48         dbus-glib-1
49         tts
50         capi-message-port
51         efl-extension
52 )
53
54 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
55
56 INCLUDE_DIRECTORIES(
57         ${CMAKE_SOURCE_DIR}/include
58         ${CMAKE_SOURCE_DIR}/include/mobile
59 )
60 INCLUDE(FindPkgConfig)
61 pkg_check_modules(pkgs REQUIRED
62         aul
63         capi-system-media-key
64         db-util
65         dlog
66         ecore
67         ecore-wayland
68         ecore-evas
69         ecore-input
70         edbus
71         eina
72         elementary
73         evas
74         syspopup-caller
75         vconf
76         appcore-efl
77         glib-2.0
78         ui-gadget-1
79         bundle
80         capi-appfw-application
81         capi-appfw-app-manager
82         capi-network-bluetooth
83         capi-system-system-settings
84         capi-system-info
85         capi-telephony
86         feedback
87         alarm-service
88         pkgmgr-info
89         deviced
90         edbus
91         dbus-1
92         dbus-glib-1
93         tts
94         capi-message-port
95         efl-extension
96         liblazymount
97         libsystemd-daemon
98 )
99
100 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "WEARABLE")
101
102 INCLUDE_DIRECTORIES(
103         ${CMAKE_SOURCE_DIR}/include
104         ${CMAKE_SOURCE_DIR}/include/wearable
105 )
106 INCLUDE(FindPkgConfig)
107 pkg_check_modules(pkgs REQUIRED
108         aul
109         capi-system-media-key
110         db-util
111         dlog
112         ecore
113         ecore-evas
114         ecore-input
115         ecore-wayland
116         edbus
117         eina
118         elementary
119         evas
120         syspopup-caller
121         vconf
122         appcore-efl
123         glib-2.0
124         ui-gadget-1
125         bundle
126         capi-appfw-application
127         capi-appfw-app-manager
128         capi-network-bluetooth
129         feedback
130         alarm-service
131         pkgmgr-info
132         deviced
133         edbus
134         dbus-1
135         dbus-glib-1
136         liblazymount
137         libsystemd-daemon
138         rua
139 )
140
141 ENDIF()
142
143 IF(X11_SUPPORT)
144 pkg_check_modules(pkgs REQUIRED
145         ecore-x
146         utilX
147         )
148 ENDIF(X11_SUPPORT)
149
150 FOREACH(flag ${pkgs_CFLAGS})
151         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
152 ENDFOREACH(flag)
153
154 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE")
155 SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg -fPIE")
156 SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg -fPIE")
157 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g -fPIE")
158 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g -fPIE")
159 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g -fPIE")
160 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g -fPIE")
161 SET(CMAKE_C_FLAGS_CCOV         "-O2 -g --coverage -fPIE")
162 SET(CMAKE_CXX_FLAGS_CCOV       "-O2 -std=c++0x -g --coverage -fPIE")
163
164 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${PREFIX}/lib -pie")
165
166 FIND_PROGRAM(UNAME NAMES uname)
167 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
168 IF("${ARCH}" STREQUAL "arm")
169         ADD_DEFINITIONS("-DTARGET")
170         MESSAGE("add -DTARGET")
171 ENDIF("${ARCH}" STREQUAL "arm")
172
173 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
174 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
175 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
176 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
177 ADD_DEFINITIONS("-D_GNU_SOURCE")
178
179 IF(X11_SUPPORT)
180         ADD_DEFINITIONS("-DHAVE_X11")
181 ENDIF(X11_SUPPORT)
182
183 IF(WAYLAND_SUPPORT)
184         ADD_DEFINITIONS("-DHAVE_WAYLAND")
185 ENDIF(WAYLAND_SUPPORT)
186
187 IF("${TIZEN_PROFILE_NAME}" STREQUAL "COMMON")
188
189 SET(BUILD_SOURCE
190         src/dbus_util.c
191         src/package_mgr.c
192         src/process_mgr.c
193         src/status.c
194
195         src/common/home_mgr.c
196         src/common/lock_mgr.c
197         src/common/starter.c
198         src/common/popup.c
199         src/common/hw_key.c
200 )
201
202 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
203
204 SET(BUILD_SOURCE
205         src/dbus_util.c
206         src/package_mgr.c
207         src/process_mgr.c
208         src/status.c
209
210         src/mobile/home_mgr.c
211         src/mobile/lock_mgr.c
212         src/mobile/starter.c
213         src/mobile/popup.c
214         src/mobile/hw_key.c
215 )
216
217 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "WEARABLE")
218
219 SET(BUILD_SOURCE
220         src/dbus_util.c
221         src/package_mgr.c
222         src/process_mgr.c
223         src/status.c
224
225         src/wearable/clock_mgr.c
226         src/wearable/home_mgr.c
227         src/wearable/hourly_alert.c
228         src/wearable/hw_key.c
229         src/wearable/starter.c
230 )
231
232 ENDIF()
233
234 ADD_EXECUTABLE(${PROJECT_NAME} ${BUILD_SOURCE})
235 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
236 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
237 INSTALL(DIRECTORY DESTINATION ${DATADIR})
238
239 ADD_SUBDIRECTORY(po)