Fix bugs in managing the system group
[platform/core/system/system-server.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(system_server C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "${PREFIX}/bin")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
8
9 # deviced
10 SET(DEVICED_NAME deviced)
11 SET(VERSION 0.1.0)
12
13 SET(SRCS
14         src/battery/lowbat-handler.c
15         src/bs/bs.c
16         src/core/device-notifier.c
17         src/core/main.c
18         src/core/sysnoti.c
19         src/core/launch.c
20         src/core/queue.c
21         src/core/core.c
22         src/core/devices.c
23         src/core/sig-handler.c
24         src/core/log.c
25         src/core/device-change-handler.c
26         src/core/predefine.c
27         src/core/noti.c
28         src/core/common.c
29         src/core/edbus-handler.c
30         src/cpu/cpu-handler.c
31         src/mmc/mmc-handler.c
32         src/mmc/vfat.c
33         src/power/power-handler.c
34         src/proc/lowmem-handler.c
35         src/proc/pmon-handler.c
36         src/proc/proc-handler.c
37         src/ta/ta-handler.c
38         src/time/time-handler.c
39         src/usb/usb-handler.c
40         src/vibrator/vibrator.c
41 )
42 FIND_PROGRAM(UNAME NAMES uname)
43 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
44 IF("${ARCH}" STREQUAL "emulated")
45 SET(SRCS ${SRCS}
46         src/mmc/ext4.c
47         )
48 ENDIF("${ARCH}" STREQUAL "emulated")
49
50 SET(SRCS ${SRCS}
51         src/display/util.c
52         src/display/llinterface.c
53         src/display/conf.c
54         src/display/setting.c
55         src/display/poll.c
56         src/display/core.c
57         src/display/display-dbus.c
58         src/display/lsensor.c
59         src/display/key-filter.c
60         src/display/battery.c)
61
62 SET(SRCS ${SRCS}
63         src/led/led.c)
64
65 SET(SRCS ${SRCS}
66         src/control/control.c)
67
68 SET(SRCS ${SRCS}
69         src/haptic/haptic.c)
70
71 # libdeviced
72 SET(DEVICED_SRCS
73         src/shared/battery.c
74         src/shared/control.c
75         src/shared/dbus.c
76         src/shared/deviced-conf.c
77         src/shared/deviced-noti.c
78         src/shared/deviced-util.c
79         src/shared/display.c
80         src/shared/haptic.c
81         src/shared/led.c
82 )
83
84 SET(DEVICED_HEADERS
85         src/deviced/dd-battery.h
86         src/deviced/dd-control.h
87         src/deviced/dd-deviced.h
88         src/deviced/dd-deviced-managed.h
89         src/deviced/dd-display.h
90         src/deviced/dd-haptic.h
91         src/deviced/dd-led.h
92         src/deviced/haptic-module.h
93         src/deviced/haptic-plugin-intf.h
94 )
95
96 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
97                 ${CMAKE_CURRENT_SOURCE_DIR}/display 
98                 ${CMAKE_CURRENT_SOURCE_DIR}/src 
99                 ${CMAKE_CURRENT_SOURCE_DIR}/src/deviced 
100                 ${CMAKE_CURRENT_SOURCE_DIR}/sysman
101                 ${CMAKE_CURRENT_SOURCE_DIR}/libslp_pm
102                 )
103
104 SET(MOVINAND_FORMAT scripts/movi_format.sh)
105
106 INCLUDE(FindPkgConfig)
107
108 SET( local_pkgs
109         ecore
110         ecore-file
111         edbus
112         eina
113         vconf
114         heynoti
115         tapi
116         dlog
117         device-node
118         sensor
119         notification
120         libsmack
121         libsystemd-daemon
122         libtzplatform-config
123 )
124
125 IF(X11_SUPPORT)
126 SET( local_pkgs ecore-x ${local_pkgs} )
127 ENDIF(X11_SUPPORT)
128
129 pkg_check_modules(pkgs REQUIRED ${local_pkgs} )
130
131
132 FOREACH(flag ${pkgs_CFLAGS})
133         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
134 ENDFOREACH(flag)
135
136 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
137 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
138 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
139 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
140
141 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
142 ADD_DEFINITIONS("-DPREDEFINE_SO_DIR=\"${LIB_INSTALL_DIR}/ss_predefine/\"")
143 ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}/\"")
144 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
145
146 ADD_DEFINITIONS("-DENABLE_KEY_FILTER")
147 IF(X11_SUPPORT)
148 ADD_DEFINITIONS("-DENABLE_X_LCD_ONOFF")
149 ENDIF(X11_SUPPORT)
150 ADD_DEFINITIONS("-DENABLE_DLOG_OUT")
151 ADD_DEFINITIONS("-DENABLE_PM_LOG")
152
153 IF( $ENV{ARCH} MATCHES "arm" )
154         ADD_DEFINITIONS("-DTARGET")
155 ENDIF()
156 ADD_DEFINITIONS("-DDEBUG -DENABLE_DLOG_OUT")
157
158
159 CONFIGURE_FILE(device-daemon.in device-daemon @ONLY)
160
161 # libdeviced
162 ADD_LIBRARY(${DEVICED_NAME} SHARED ${DEVICED_SRCS})
163 TARGET_LINK_LIBRARIES(${DEVICED_NAME} ${pkgs_LDFLAGS})
164 SET_TARGET_PROPERTIES(${DEVICED_NAME} PROPERTIES VERSION ${VERSION})
165 INSTALL(TARGETS ${DEVICED_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
166
167 FOREACH(hfile ${DEVICED_HEADERS})
168         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME})
169 ENDFOREACH(hfile)
170
171 CONFIGURE_FILE(${DEVICED_NAME}.pc.in ${DEVICED_NAME}.pc @ONLY)
172 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DEVICED_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
173
174 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
175 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-lm" "-ludev")
176 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
177
178 INSTALL(PROGRAMS ${MOVINAND_FORMAT} DESTINATION bin)
179 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/device-daemon DESTINATION bin)
180 INSTALL(FILES deviced.conf DESTINATION /etc/dbus-1/system.d)
181 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin)
182 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/shutdown.sh DESTINATION ${LIB_INSTALL_DIR}/system-server)
183
184 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.service DESTINATION ${SYSTEMD_DIR})
185 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.socket  DESTINATION ${SYSTEMD_DIR})
186 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fsck-msdos/LICENSE DESTINATION share/license RENAME fsck_msdosfs)
187
188 ADD_SUBDIRECTORY(restarter)
189 ADD_SUBDIRECTORY(sys_event)
190 ADD_SUBDIRECTORY(pm_event)
191 ADD_SUBDIRECTORY(sys_pci_noti)
192 ADD_SUBDIRECTORY(sysman)
193 ADD_SUBDIRECTORY(libslp-pm)
194 ADD_SUBDIRECTORY(haptic)
195 ADD_SUBDIRECTORY(devman)
196 ADD_SUBDIRECTORY(fsck-msdos)