create libdeviced.so
[platform/core/system/system-server.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(system_server C)
3
4 # deviced
5 SET(DEVICED_NAME deviced)
6 SET(VERSION 0.1.0)
7
8 SET(SRCS
9         ss_main.c
10         ss_sysnoti.c
11         ss_launch.c
12         ss_queue.c
13         ss_core.c
14         ss_sig_handler.c
15         ss_log.c
16         ss_device_change_handler.c
17         ss_predefine.c
18         ss_noti.c
19         ss_lowbat_handler.c
20         ss_lowmem_handler.c
21         ss_pmon_handler.c
22         ss_mmc_handler.c
23         ss_usb_handler.c
24         ss_ta_handler.c
25         ss_bs.c
26         ss_procmgr.c
27         ss_timemgr.c
28         ss_cpu_handler.c
29         ss_vibrator.c
30         )
31
32 # libdeviced
33 SET(DEVICED_SRCS
34         src/shared/battery.c)
35
36 SET(DEVICED_HEADERS
37         src/deviced/dd-battery.h)
38
39 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
40
41 # libdeviced
42 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/deviced)
43
44 SET(MOVINAND_FORMAT movi_format.sh)
45
46 INCLUDE(FindPkgConfig)
47 pkg_check_modules(pkgs REQUIRED
48         ecore
49         ecore-file
50         ecore-x
51         eina
52         sysman
53         vconf
54         heynoti
55         pmapi
56         tapi
57         dlog
58         syspopup-caller
59         devman
60         device-node)
61
62 FOREACH(flag ${pkgs_CFLAGS})
63         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
64 ENDFOREACH(flag)
65
66 # libdeviced
67 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
68
69 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
70
71 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
72 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
73 MESSAGE("FLAGS: ${CMAKE_C_FLAGS}")
74
75 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
76 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
77 IF( $ENV{ARCH} MATCHES "arm" )
78         ADD_DEFINITIONS("-DTARGET")
79 ENDIF()
80 ADD_DEFINITIONS("-DDEBUG -DENABLE_DLOG_OUT")
81
82 SET(UDEV_RULES_PATH share/system-server/udev-rules)
83 SET(UDEV_RULES udev-rules/91-system-server.rules)
84
85 CONFIGURE_FILE(${UDEV_RULES}.in ${UDEV_RULES} @ONLY)
86
87 # libdeviced
88 ADD_LIBRARY(${DEVICED_NAME} SHARED ${DEVICED_SRCS})
89 TARGET_LINK_LIBRARIES(${DEVICED_NAME} ${pkgs_LDFLAGS})
90 SET_TARGET_PROPERTIES(${DEVICED_NAME} PROPERTIES VERSION ${VERSION})
91 INSTALL(TARGETS ${DEVICED_NAME} DESTINATION lib COMPONENT RuntimeLibraries)
92
93 FOREACH(hfile ${DEVICED_HEADERS})
94         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME})
95 ENDFOREACH(hfile)
96
97 CONFIGURE_FILE(${DEVICED_NAME}.pc.in ${DEVICED_NAME}.pc @ONLY)
98 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DEVICED_NAME}.pc DESTINATION lib/pkgconfig)
99
100 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
101 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl")
102 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
103
104 INSTALL(FILES ${MOVINAND_FORMAT} DESTINATION bin)
105 INSTALL(FILES ${UDEV_RULES} DESTINATION ${UDEV_RULES_PATH})
106 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/system_server.sh DESTINATION /etc/rc.d/init.d)
107 INSTALL(FILES system-server.conf DESTINATION /etc/dbus-1/system.d)
108
109 ADD_SUBDIRECTORY(restarter)
110 ADD_SUBDIRECTORY(sys_event)
111 ADD_SUBDIRECTORY(sys_device_noti)
112 ADD_SUBDIRECTORY(sys_pci_noti)