change system header file from dd-system to dd-deviced
[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(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
7 SET(LIBDIR "\${prefix}/lib")
8
9 # deviced
10 SET(DEVICED_NAME deviced)
11 SET(VERSION 0.1.0)
12
13 SET(SRCS
14         src/core/main.c
15         src/core/sysnoti.c
16         src/core/launch.c
17         src/core/queue.c
18         src/core/core.c
19         src/core/sig-handler.c
20         src/core/log.c
21         src/core/device-change-handler.c
22         src/core/predefine.c
23         src/core/noti.c
24         src/battery/lowbat-handler.c
25         src/proc/lowmem-handler.c
26         src/proc/pmon-handler.c
27         src/mmc/mmc-handler.c
28         src/usb/usb-handler.c
29         src/ta/ta-handler.c
30         src/bs/bs.c
31         src/proc/procmgr.c
32         src/time/time-handler.c
33         src/cpu/cpu-handler.c
34         src/core/common.c
35         src/vibrator/vibrator.c
36         src/core/edbus-handler.c)
37
38 SET(SRCS ${SRCS}
39         display/util.c
40         display/llinterface.c
41         display/conf.c
42         display/setting.c
43         display/poll.c
44         display/core.c
45         display/lsensor.c
46         display/key-filter.c
47         display/battery.c)
48
49 SET(SRCS ${SRCS}
50         src/led/led.c)
51
52 # libdeviced
53 SET(DEVICED_SRCS
54         src/shared/battery.c
55         src/shared/deviced-conf.c
56         src/shared/deviced-noti.c
57         src/shared/deviced-util.c
58         src/shared/display.c
59         src/shared/haptic.c
60         src/shared/led.c
61 )
62
63 SET(DEVICED_HEADERS
64         src/deviced/dd-battery.h
65         src/deviced/dd-deviced.h
66         src/deviced/dd-deviced-managed.h
67         src/deviced/dd-display.h
68         src/deviced/dd-haptic.h
69         src/deviced/dd-led.h
70         src/deviced/haptic-module.h
71         src/deviced/haptic-plugin-intf.h
72 )
73
74 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
75                 ${CMAKE_CURRENT_SOURCE_DIR}/display 
76                 ${CMAKE_CURRENT_SOURCE_DIR}/src 
77                 ${CMAKE_CURRENT_SOURCE_DIR}/src/deviced 
78                 ${CMAKE_CURRENT_SOURCE_DIR}/sysman
79                 ${CMAKE_CURRENT_SOURCE_DIR}/libslp_pm
80                 )
81
82 SET(MOVINAND_FORMAT scripts/movi_format.sh)
83
84 INCLUDE(FindPkgConfig)
85 pkg_check_modules(pkgs REQUIRED
86         ecore
87         ecore-file
88         ecore-x
89         edbus
90         eina
91         vconf
92         heynoti
93         tapi
94         dlog
95         syspopup-caller
96         device-node
97         sensor
98         notification
99         libsmack
100         libsystemd-daemon)
101
102 FOREACH(flag ${pkgs_CFLAGS})
103         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
104 ENDFOREACH(flag)
105
106 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
107 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
108 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
109 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
110
111 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
112 ADD_DEFINITIONS("-DPREDEFINE_SO_DIR=\"${LIB_INSTALL_DIR}/ss_predefine/\"")
113 ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}/\"")
114 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
115
116 ADD_DEFINITIONS("-DENABLE_KEY_FILTER")
117 ADD_DEFINITIONS("-DENABLE_X_LCD_ONOFF")
118 ADD_DEFINITIONS("-DENABLE_DLOG_OUT")
119 ADD_DEFINITIONS("-DENABLE_PM_LOG")
120
121 IF( $ENV{ARCH} MATCHES "arm" )
122         ADD_DEFINITIONS("-DTARGET")
123 ENDIF()
124 ADD_DEFINITIONS("-DDEBUG -DENABLE_DLOG_OUT")
125
126 SET(UDEV_RULES_PATH share/system-server/udev-rules)
127 SET(UDEV_RULES udev-rules/91-system-server.rules)
128
129 CONFIGURE_FILE(${UDEV_RULES}.in ${UDEV_RULES} @ONLY)
130 CONFIGURE_FILE(device-daemon.in device-daemon @ONLY)
131
132 # libdeviced
133 ADD_LIBRARY(${DEVICED_NAME} SHARED ${DEVICED_SRCS})
134 TARGET_LINK_LIBRARIES(${DEVICED_NAME} ${pkgs_LDFLAGS})
135 SET_TARGET_PROPERTIES(${DEVICED_NAME} PROPERTIES VERSION ${VERSION})
136 INSTALL(TARGETS ${DEVICED_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
137
138 FOREACH(hfile ${DEVICED_HEADERS})
139         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME})
140 ENDFOREACH(hfile)
141
142 CONFIGURE_FILE(${DEVICED_NAME}.pc.in ${DEVICED_NAME}.pc @ONLY)
143 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DEVICED_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
144
145 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
146 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-ludev")
147 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
148
149 INSTALL(FILES ${MOVINAND_FORMAT} DESTINATION bin)
150 INSTALL(FILES ${UDEV_RULES} DESTINATION ${UDEV_RULES_PATH})
151 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/device-daemon DESTINATION bin)
152 INSTALL(FILES system-server.conf DESTINATION /etc/dbus-1/system.d)
153 INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/system-server.rule DESTINATION /opt/etc/smack/accesses.d)
154 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin)
155 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/shutdown.sh DESTINATION ${LIB_INSTALL_DIR}/system-server)
156 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/utils/set_pmon DESTINATION bin)
157 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/utils/regpmon DESTINATION bin)
158 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/utils/pmon DESTINATION bin)
159
160 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.service DESTINATION ${LIB_INSTALL_DIR}/systemd/system)
161 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.socket  DESTINATION ${LIB_INSTALL_DIR}/systemd/system)
162
163 ADD_SUBDIRECTORY(restarter)
164 ADD_SUBDIRECTORY(sys_event)
165 ADD_SUBDIRECTORY(pm_event)
166 ADD_SUBDIRECTORY(sys_pci_noti)
167 ADD_SUBDIRECTORY(sysman)
168 ADD_SUBDIRECTORY(libslp-pm)
169 ADD_SUBDIRECTORY(haptic)
170 ADD_SUBDIRECTORY(devman)