change elm_win_alpha_set as true and Fix crash
[apps/core/preloaded/quickpanel.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(quickpanel C)
3
4 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/test TEST_SRCS)
5
6 IF(${WINSYS} STREQUAL "x11")
7 SET(EXTRA_SRCS
8         daemon/service/keyboard_x.c
9 )
10 ELSE (${WINSYS} STREQUAL "x11")
11 SET(EXTRA_SRCS
12 )
13 ENDIF (${WINSYS} STREQUAL "x11")
14
15 SET(SRCS
16         daemon/modules.c
17         daemon/dbus_utility.c
18         daemon/accessibility.c
19         daemon/voice_control.c
20         daemon/media.c
21         daemon/datetime/util-time.c
22         daemon/datetime/datetime.c
23         daemon/sim_controller.c
24         daemon/minictrl/minictrl.c
25         daemon/preference.c
26         daemon/notifications/noti_list_item.c
27         daemon/notifications/animated_image.c
28         daemon/notifications/activenoti.c
29         daemon/notifications/noti_view_listype.c
30         daemon/notifications/noti_box.c
31         daemon/notifications/noti_node.c
32         daemon/notifications/noti_section.c
33         daemon/notifications/noti_view_ongoing.c
34         daemon/notifications/noti_gridbox.c
35         daemon/notifications/noti_win.c
36         daemon/notifications/noti_view_boxtype.c
37         daemon/notifications/noti_listbox.c
38         daemon/notifications/noti_util.c
39         daemon/notifications/noti_view.c
40         daemon/notifications/noti.c
41         daemon/device/brightness.c
42         daemon/settings/modules/rotate-lock.c
43         daemon/settings/modules/ultra_power_saving.c
44         daemon/settings/modules/assistive_light.c
45         daemon/settings/modules/bluetooth.c
46         daemon/settings/modules/gps.c
47         daemon/settings/modules/wifi.c
48         daemon/settings/modules/tethering.c
49         daemon/settings/modules/mobile_data.c
50         daemon/settings/modules/sound-profile.c
51         daemon/settings/modules/flightmode.c
52         daemon/settings/settings_view_all.c
53         daemon/settings/settings_icon_common.c
54         daemon/settings/settings_gridbox.c
55         daemon/settings/settings_view_featured.c
56         daemon/settings/settings_ipc.c
57         daemon/settings/setting_module_api.c
58         daemon/settings/settings.c
59         daemon/settings/setting_utils.c
60         daemon/vi/vi_manager.c
61         daemon/common_uic.c
62         daemon/handler_controller.c
63         daemon/service/animated_icon.c
64         daemon/service/emergency_mode.c
65         daemon/service/uninstall.c
66         daemon/service/reminder.c
67         daemon/service/keyboard.c
68         daemon/service/noti_led.c
69         daemon/service/smart_alert.c
70         daemon/page/pager.c
71         daemon/page/page_base.c
72         daemon/page/pager_common.c
73         daemon/page/page_setting_all.c
74         daemon/page/page_edit.c
75         daemon/quickpanel-ui.c
76         daemon/common.c
77         daemon/list_util.c
78         ${EXTRA_SRCS}
79         ${TEST_SRCS}
80 )
81
82 SET(PACKAGE ${PROJECT_NAME})
83 SET(PREFIX "${CMAKE_INSTALL_PREFIX}/apps/${PKGNAME}")
84 SET(BINDIR "${PREFIX}/bin")
85 SET(RESDIR "${PREFIX}/res")
86 SET(LOCALEDIR "${RESDIR}/locale")
87 SET(ICONDIR "${RESDIR}/icons")
88 SET(EDJDIR "${RESDIR}/edje")
89 SET(DATADIR "${PREFIX}/data")
90 SET(DATADIR_RW "/opt/usr/apps/${PKGNAME}/data")
91 SET(DESKTOPDIR "/usr/share/applications")
92 SET(MANIFESTXMLDIR "/usr/share/packages")
93 SET(SHARED_DIR "${PREFIX}/shared/res")
94
95 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
96         SET(CMAKE_BUILD_TYPE "Release")
97 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
98 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
99
100 INCLUDE_DIRECTORIES(
101                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon
102                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/minictrl
103                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/notifications
104                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/service
105                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/settings
106                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/settings/modules
107                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/vi
108                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/page
109                 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/datetime
110                 ${CMAKE_CURRENT_SOURCE_DIR}/data
111                 ${CMAKE_CURRENT_SOURCE_DIR}/test
112                 )
113
114 INCLUDE(FindPkgConfig)
115 pkg_check_modules(pkgs REQUIRED
116         capi-appfw-application
117         capi-system-runtime-info
118         capi-system-info
119         capi-system-device
120         capi-location-manager
121         capi-network-tethering
122         capi-network-bluetooth
123         capi-network-connection
124         capi-network-wifi
125         capi-media-player
126         capi-media-sound-manager
127         capi-media-metadata-extractor
128         capi-system-system-settings
129         capi-base-utils-i18n
130         capi-ui-efl-util
131         tapi
132         feedback
133         appcore-common
134         notification
135         badge
136         vconf
137         edbus
138         evas
139         ecore
140         edje
141         ecore-input
142         icu-i18n
143         elementary
144         dlog
145         syspopup-caller
146         minicontrol-viewer
147         minicontrol-monitor
148         capi-appfw-package-manager
149         iniparser
150         alarm-service
151         voice-control-setting
152         tzsh-quickpanel-service
153 )
154
155 IF(${WINSYS} STREQUAL "x11")
156 pkg_check_modules(x11_pkgs REQUIRED
157         ecore-x
158         utilX
159         inputproto
160         xi
161         libprivilege-control
162 )
163 ENDIF(${WINSYS} STREQUAL "x11")
164
165
166 FOREACH(flag ${pkgs_CFLAGS} ${x11_pkgs_CFLAGS})
167         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
168 ENDFOREACH(flag)
169
170 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -g -O2 -fpie -Werror")
171 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
172 SET(CMAKE_C_FLAGS_RELEASE "-O2")
173
174 FIND_PROGRAM(UNAME NAMES uname)
175 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
176 IF("${ARCH}" STREQUAL "arm")
177         ADD_DEFINITIONS("-DTARGET")
178         MESSAGE("add -DTARGET")
179 ENDIF("${ARCH}" STREQUAL "arm")
180
181 IF(${WINSYS} STREQUAL "x11")
182 ADD_DEFINITIONS("-DWINSYS_X11=1")
183 ENDIF(${WINSYS} STREQUAL "x11")
184
185 ADD_DEFINITIONS("-DQP_SETTING_ENABLE")
186 ADD_DEFINITIONS("-DQP_BRIGHTNESS_ENABLE")
187 ADD_DEFINITIONS("-DQP_MINICTRL_ENABLE")
188 ADD_DEFINITIONS("-DQP_SCREENREADER_ENABLE")
189 ADD_DEFINITIONS("-DQP_SMART_ALERT_ENABLE")
190 ADD_DEFINITIONS("-DQP_SERVICE_NOTI_LED_ENABLE")
191 ADD_DEFINITIONS("-DQP_ANIMATED_IMAGE_ENABLE")
192 ADD_DEFINITIONS("-DQP_REMINDER_ENABLE")
193 #ADD_DEFINITIONS("-DQP_EMERGENCY_MODE_ENABLE")
194 ADD_DEFINITIONS("-DQP_VOICE_CONTROL_ENABLE")
195
196 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
197 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
198 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
199 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
200 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
201 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
202 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
203 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
204 ADD_DEFINITIONS("-DDATADIR_RW=\"${DATADIR_RW}\"")
205 ADD_DEFINITIONS("-DSHARED_DIR=\"${SHARED_DIR}\"")
206
207 #ADD_DEFINITIONS("-DFILE_DEBUG")
208 ADD_DEFINITIONS("-D_DLOG_USED")
209 #ADD_DEFINITIONS("-DHAVE_X")
210
211 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
212
213 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
214 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${x11_pkgs_LDFLAGS} "-pie")
215
216 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
217 INSTALL(DIRECTORY DESTINATION ${DATADIR})
218 INSTALL(DIRECTORY DESTINATION ${DATADIR_RW})
219 INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/quickpanel_icon_default.png DESTINATION ${RESDIR})
220 IF(${WINSYS} STREQUAL "x11")
221 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.efl DESTINATION /etc/smack/accesses.d)
222 ENDIF(${WINSYS} STREQUAL "x11")
223
224 # icon for setting
225 INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/settings_noti_panel.png DESTINATION ${SHARED_DIR}/icons)
226
227 # icons for notification
228 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/images_noti_icons/ DESTINATION ${SHARED_DIR}/noti_icons FILES_MATCHING PATTERN "*.png")
229
230 # License
231 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME ${PKGNAME})
232
233 # i18n
234 ADD_SUBDIRECTORY(data)
235 ADD_SUBDIRECTORY(po)
236