1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(system_server C)
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "${PREFIX}/bin")
6 SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
7 SET(LIBDIR "\${prefix}/lib")
10 SET(DEVICED_NAME deviced)
14 src/battery/lowbat-handler.c
16 src/core/device-notifier.c
23 src/core/sig-handler.c
25 src/core/device-change-handler.c
29 src/core/edbus-handler.c
34 src/power/power-handler.c
35 src/proc/lowmem-handler.c
36 src/proc/pmon-handler.c
37 src/proc/proc-handler.c
39 src/time/time-handler.c
41 src/vibrator/vibrator.c
46 src/display/llinterface.c
51 src/display/display-dbus.c
53 src/display/key-filter.c
54 src/display/battery.c)
60 src/control/control.c)
67 src/shared/deviced-conf.c
68 src/shared/deviced-noti.c
69 src/shared/deviced-util.c
76 src/deviced/dd-battery.h
77 src/deviced/dd-control.h
78 src/deviced/dd-deviced.h
79 src/deviced/dd-deviced-managed.h
80 src/deviced/dd-display.h
81 src/deviced/dd-haptic.h
83 src/deviced/haptic-module.h
84 src/deviced/haptic-plugin-intf.h
87 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
88 ${CMAKE_CURRENT_SOURCE_DIR}/display
89 ${CMAKE_CURRENT_SOURCE_DIR}/src
90 ${CMAKE_CURRENT_SOURCE_DIR}/src/deviced
91 ${CMAKE_CURRENT_SOURCE_DIR}/sysman
92 ${CMAKE_CURRENT_SOURCE_DIR}/libslp_pm
95 SET(MOVINAND_FORMAT scripts/movi_format.sh)
97 INCLUDE(FindPkgConfig)
98 pkg_check_modules(pkgs REQUIRED
115 FOREACH(flag ${pkgs_CFLAGS})
116 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
119 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
120 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
121 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
122 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
124 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
125 ADD_DEFINITIONS("-DPREDEFINE_SO_DIR=\"${LIB_INSTALL_DIR}/ss_predefine/\"")
126 ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}/\"")
127 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
129 ADD_DEFINITIONS("-DENABLE_KEY_FILTER")
130 ADD_DEFINITIONS("-DENABLE_X_LCD_ONOFF")
131 ADD_DEFINITIONS("-DENABLE_DLOG_OUT")
132 ADD_DEFINITIONS("-DENABLE_PM_LOG")
134 IF( $ENV{ARCH} MATCHES "arm" )
135 ADD_DEFINITIONS("-DTARGET")
137 ADD_DEFINITIONS("-DDEBUG -DENABLE_DLOG_OUT")
139 SET(UDEV_RULES_PATH share/system-server/udev-rules)
140 SET(UDEV_RULES udev-rules/91-system-server.rules)
142 CONFIGURE_FILE(${UDEV_RULES}.in ${UDEV_RULES} @ONLY)
143 CONFIGURE_FILE(device-daemon.in device-daemon @ONLY)
146 ADD_LIBRARY(${DEVICED_NAME} SHARED ${DEVICED_SRCS})
147 TARGET_LINK_LIBRARIES(${DEVICED_NAME} ${pkgs_LDFLAGS})
148 SET_TARGET_PROPERTIES(${DEVICED_NAME} PROPERTIES VERSION ${VERSION})
149 INSTALL(TARGETS ${DEVICED_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
151 FOREACH(hfile ${DEVICED_HEADERS})
152 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME})
155 CONFIGURE_FILE(${DEVICED_NAME}.pc.in ${DEVICED_NAME}.pc @ONLY)
156 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DEVICED_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
158 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
159 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-ludev")
160 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
162 INSTALL(FILES ${MOVINAND_FORMAT} DESTINATION bin)
163 INSTALL(FILES ${UDEV_RULES} DESTINATION ${UDEV_RULES_PATH})
164 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/device-daemon DESTINATION bin)
165 INSTALL(FILES system-server.conf DESTINATION /etc/dbus-1/system.d)
166 INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/system-server.rule DESTINATION /opt/etc/smack/accesses.d)
167 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin)
168 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/shutdown.sh DESTINATION ${LIB_INSTALL_DIR}/system-server)
169 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/utils/set_pmon DESTINATION bin)
170 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/utils/regpmon DESTINATION bin)
171 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/utils/pmon DESTINATION bin)
173 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.service DESTINATION ${LIB_INSTALL_DIR}/systemd/system)
174 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.socket DESTINATION ${LIB_INSTALL_DIR}/systemd/system)
176 ADD_SUBDIRECTORY(restarter)
177 ADD_SUBDIRECTORY(sys_event)
178 ADD_SUBDIRECTORY(pm_event)
179 ADD_SUBDIRECTORY(sys_pci_noti)
180 ADD_SUBDIRECTORY(sysman)
181 ADD_SUBDIRECTORY(libslp-pm)
182 ADD_SUBDIRECTORY(haptic)
183 ADD_SUBDIRECTORY(devman)