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)
19 src/core/sig-handler.c
21 src/core/device-change-handler.c
24 src/battery/lowbat-handler.c
25 src/proc/lowmem-handler.c
26 src/proc/pmon-handler.c
32 src/time/time-handler.c
35 src/vibrator/vibrator.c
36 src/core/edbus-handler.c)
55 src/shared/deviced-conf.c
56 src/shared/deviced-noti.c
57 src/shared/deviced-util.c
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
70 src/deviced/haptic-module.h
71 src/deviced/haptic-plugin-intf.h
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
82 SET(MOVINAND_FORMAT scripts/movi_format.sh)
84 INCLUDE(FindPkgConfig)
85 pkg_check_modules(pkgs REQUIRED
102 FOREACH(flag ${pkgs_CFLAGS})
103 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
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})
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}\"")
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")
121 IF( $ENV{ARCH} MATCHES "arm" )
122 ADD_DEFINITIONS("-DTARGET")
124 ADD_DEFINITIONS("-DDEBUG -DENABLE_DLOG_OUT")
126 SET(UDEV_RULES_PATH share/system-server/udev-rules)
127 SET(UDEV_RULES udev-rules/91-system-server.rules)
129 CONFIGURE_FILE(${UDEV_RULES}.in ${UDEV_RULES} @ONLY)
130 CONFIGURE_FILE(device-daemon.in device-daemon @ONLY)
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)
138 FOREACH(hfile ${DEVICED_HEADERS})
139 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME})
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)
145 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
146 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-ludev")
147 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
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)
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)
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)