1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 SET(VENDOR "org.tizen")
5 SET(PACKAGE ${PROJECT_NAME})
6 SET(PKGNAME "${VENDOR}.${PACKAGE}")
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(BINDIR "${PREFIX}/bin")
9 SET(RESDIR "${PREFIX}/res")
10 SET(LOCALEDIR "${RESDIR}/locale")
11 SET(ICONDIR "${RESDIR}/icons")
12 SET(EDJDIR "${RESDIR}/edje")
13 SET(DATADIR "${PREFIX}/data")
14 SET(DATADIR_RW "${PREFIX_RW}/data")
15 SET(DESKTOPDIR "/usr/share/applications")
16 SET(MANIFESTXMLDIR "/usr/share/packages")
17 SET(SHARED_DIR "${PREFIX}/shared/res")
19 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
20 SET(CMAKE_BUILD_TYPE "Release")
21 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
22 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
25 ${CMAKE_CURRENT_SOURCE_DIR}/daemon
26 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/minictrl
27 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/notifications
28 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/service
29 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/settings
30 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/settings/modules
31 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/vi
32 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/page
33 ${CMAKE_CURRENT_SOURCE_DIR}/daemon/datetime
34 ${CMAKE_CURRENT_SOURCE_DIR}/data
35 ${CMAKE_CURRENT_SOURCE_DIR}/test
38 INCLUDE(FindPkgConfig)
41 pkg_check_modules(extra_pkgs REQUIRED
51 pkg_check_modules(extra_pkgs REQUIRED
54 ENDIF(WAYLAND_SUPPORT)
56 pkg_check_modules(pkgs REQUIRED
57 capi-appfw-application
58 capi-system-runtime-info
61 capi-network-tethering
62 capi-network-bluetooth
63 capi-network-connection
66 capi-media-sound-manager
67 capi-media-metadata-extractor
68 capi-system-system-settings
96 FOREACH(flag ${pkgs_CFLAGS} ${extra_pkgs_CFLAGS})
97 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
100 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -g -O2 -fpie")
101 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
102 SET(CMAKE_C_FLAGS_RELEASE "-O2")
104 FIND_PROGRAM(UNAME NAMES uname)
105 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
106 IF("${ARCH}" STREQUAL "arm")
107 ADD_DEFINITIONS("-DTARGET")
108 MESSAGE("add -DTARGET")
109 ENDIF("${ARCH}" STREQUAL "arm")
111 IF("${VENDOR}" STREQUAL "org.tizen")
112 ADD_DEFINITIONS("-DQP_SETTING_ENABLE")
113 ADD_DEFINITIONS("-DQP_BRIGHTNESS_ENABLE")
114 ADD_DEFINITIONS("-DQP_MINICTRL_ENABLE")
115 ADD_DEFINITIONS("-DQP_SCREENREADER_ENABLE")
116 ADD_DEFINITIONS("-DQP_SMART_ALERT_ENABLE")
117 ADD_DEFINITIONS("-DQP_SERVICE_NOTI_LED_ENABLE")
118 ADD_DEFINITIONS("-DQP_ANIMATED_IMAGE_ENABLE")
119 ADD_DEFINITIONS("-DQP_REMINDER_ENABLE")
120 ADD_DEFINITIONS("-DQP_EMERGENCY_MODE_ENABLE")
121 ENDIF("${VENDOR}" STREQUAL "org.tizen")
122 MESSAGE("##### VENDOR: ${VENDOR}")
124 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
125 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
126 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
127 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
128 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
129 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
130 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
131 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
132 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
133 ADD_DEFINITIONS("-DDATADIR_RW=\"${DATADIR_RW}\"")
134 ADD_DEFINITIONS("-DSHARED_DIR=\"${SHARED_DIR}\"")
135 #ADD_DEFINITIONS("-DFILE_DEBUG")
136 ADD_DEFINITIONS("-D_DLOG_USED")
138 SET(BUILD_COMMON_SOURCE
139 ${BUILD_COMMON_SOURCE}
140 daemon/accessibility.c
142 daemon/datetime/datetime.c
143 daemon/datetime/util-time.c
144 daemon/dbus_utility.c
145 daemon/device/brightness.c
146 daemon/handler_controller.c
149 daemon/minictrl/minictrl.c
151 daemon/notifications/activenoti.c
152 daemon/notifications/animated_image.c
153 daemon/notifications/noti_box.c
154 daemon/notifications/noti.c
155 daemon/notifications/noti_gridbox.c
156 daemon/notifications/noti_listbox.c
157 daemon/notifications/noti_list_item.c
158 daemon/notifications/noti_node.c
159 daemon/notifications/noti_section.c
160 daemon/notifications/noti_util.c
161 daemon/notifications/noti_view_boxtype.c
162 daemon/notifications/noti_view.c
163 daemon/notifications/noti_view_listype.c
164 daemon/notifications/noti_view_ongoing.c
165 daemon/page/page_base.c
166 daemon/page/page_edit.c
168 daemon/page/page_setting_all.c
170 daemon/service/animated_icon.c
171 daemon/service/configuration.c
172 daemon/service/emergency_mode.c
173 daemon/service/keyboard.c
174 daemon/service/noti_led.c
175 daemon/service/reminder.c
176 daemon/service/smart_alert.c
177 daemon/service/uninstall.c
178 daemon/settings/modules/assistive_light.c
179 daemon/settings/modules/bluetooth.c
180 daemon/settings/modules/flightmode.c
181 daemon/settings/modules/gps.c
182 daemon/settings/modules/mobile_data.c
183 daemon/settings/modules/rotate-lock.c
184 daemon/settings/modules/sound-profile.c
185 daemon/settings/modules/tethering.c
186 daemon/settings/modules/ultra_power_saving.c
187 daemon/settings/modules/wifi.c
188 daemon/settings/setting_module_api.c
189 daemon/settings/settings.c
190 daemon/settings/settings_gridbox.c
191 daemon/settings/settings_icon_common.c
192 daemon/settings/settings_ipc.c
193 daemon/settings/settings_view_all.c
194 daemon/settings/settings_view_featured.c
195 daemon/sim_controller.c
196 daemon/vi/vi_manager.c
200 ADD_DEFINITIONS("-DHAVE_X")
203 daemon/common_uic_x11.c
204 daemon/notifications/noti_win_x11.c
205 daemon/page/pager_common_x11.c
206 daemon/quickpanel-ui_x11.c
207 daemon/service/keyboard_x_x11.c
208 daemon/settings/setting_utils_x11.c
213 ADD_DEFINITIONS("-DHAVE_WAYLAND")
217 daemon/notifications/noti_win.c
218 daemon/page/pager_common.c
219 daemon/quickpanel-ui.c
220 daemon/service/keyboard_x.c
221 daemon/settings/setting_utils.c
223 ENDIF(WAYLAND_SUPPORT)
225 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/test TEST_SRCS)
227 SET(SRCS ${BUILD_COMMON_SOURCE} ${BUILD_SOURCE} ${TEST_SRCS})
229 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
232 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
233 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${extra_pkgs_LDFLAGS} "-pie")
236 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
237 INSTALL(DIRECTORY DESTINATION ${DATADIR})
238 INSTALL(DIRECTORY DESTINATION ${DATADIR_RW})
239 INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/quickpanel_icon_default.png DESTINATION ${RESDIR})
240 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.efl DESTINATION /etc/smack/accesses.d)
243 INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/settings_noti_panel.png DESTINATION ${SHARED_DIR}/icons)
245 # icons for notification
246 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/images_noti_icons/ DESTINATION ${SHARED_DIR}/noti_icons FILES_MATCHING PATTERN "*.png")
249 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME ${PKGNAME})
252 ADD_SUBDIRECTORY(data)