tizen 2.3.1 release
[kernel/api/system-resource.git] / CMakeLists / resourced.txt
1 CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
2
3 #CMake doesnt' support same project name for several TARGETS
4 # libresourced uses it
5 PROJECT(resource_d)
6
7 SET(CMAKE_EXTRA_INCLUDE_FILES unistd.h)
8
9 INCLUDE_DIRECTORIES(${RESOURCED_INCLUDEDIR}
10   ${RESOURCED_SOURCE_DIR}
11   ${LOGGING_SOURCE_DIR}/include
12   ${MEMORY_SOURCE_DIR}
13   ${PROC-STAT_SOURCE_DIR}/include
14   ${APP-STAT_SOURCE_DIR}/include
15   ${NETWORK_SOURCE_DIR}/include)
16
17 SET (HEADERS
18   ${NETWORK_SOURCE_DIR}/include/datausage-vconf-callbacks.h
19   ${NETWORK_SOURCE_DIR}/include/iface-cb.h
20   ${INCLUDE_COMMON_DIR}/config.h
21   ${INCLUDE_COMMON_DIR}/config-parser.h
22   ${INCLUDE_COMMON_DIR}/const.h
23   ${INCLUDE_COMMON_DIR}/daemon-options.h
24   ${INCLUDE_COMMON_DIR}/macro.h
25   ${INCLUDE_COMMON_DIR}/logging-common.h
26   ${INCLUDE_COMMON_DIR}/lowmem-common.h
27   ${INCLUDE_COMMON_DIR}/module-data.h
28   ${INCLUDE_COMMON_DIR}/module.h
29   ${INCLUDE_COMMON_DIR}/swap-common.h
30 )
31
32 SET (SOURCES
33   ${COMMON_SOURCE_DIR}/cgroup.c
34   ${COMMON_SOURCE_DIR}/notifier.c
35   ${COMMON_SOURCE_DIR}/appid-helper.c
36   ${COMMON_SOURCE_DIR}/config-parser.c
37   ${COMMON_SOURCE_DIR}/edbus-handler.c
38   ${COMMON_SOURCE_DIR}/file-helper.c
39   ${COMMON_SOURCE_DIR}/module-data.c
40   ${COMMON_SOURCE_DIR}/module.c
41   ${NETWORK_SOURCE_DIR}/counter.c
42   ${PROC-STAT_SOURCE_DIR}/proc-handler.c
43   ${PROC-STAT_SOURCE_DIR}/proc-main.c
44   ${PROC-STAT_SOURCE_DIR}/proc-noti.c
45   ${PROC-STAT_SOURCE_DIR}/proc-process.c
46   ${PROC-STAT_SOURCE_DIR}/proc-monitor.c
47   ${RESOURCED_SOURCE_DIR}/init.c
48   ${RESOURCED_SOURCE_DIR}/main.c
49   )
50
51 INSTALL(FILES ${DATA_DIR}/${EXCLUDE_LIST_FILE_NAME} DESTINATION /usr/etc)
52 #network module
53 IF("${NETWORK_MODULE}" STREQUAL "ON")
54
55   IF("${DATAUSAGE_TYPE}" STREQUAL "NFACCT")
56     SET(CONFIG_DATAUSAGE_NFACCT 1)
57     SET(SOURCES ${SOURCES}
58       ${NETWORK_SOURCE_DIR}/nfacct-rule.c
59       ${NETWORK_SOURCE_DIR}/nf-restriction.c
60     )
61   ELSE()
62     SET(SOURCES ${SOURCES}
63       ${NETWORK_SOURCE_DIR}/generic-netlink.c
64       ${NETWORK_SOURCE_DIR}/ktgrabber-restriction.c
65     )
66   ENDIF()
67
68   SET(SOURCES ${SOURCES}
69     ${NETWORK_SOURCE_DIR}/counter-process.c
70     ${NETWORK_SOURCE_DIR}/daemon-options.c
71     ${NETWORK_SOURCE_DIR}/datausage-quota-processing.c
72     ${NETWORK_SOURCE_DIR}/datausage-vconf-callbacks.c
73     ${NETWORK_SOURCE_DIR}/datausage-vconf-common.c
74     ${NETWORK_SOURCE_DIR}/specific-trace.c
75     ${NETWORK_SOURCE_DIR}/datausage-common.c
76     ${NETWORK_SOURCE_DIR}/iface-cb.c
77     ${NETWORK_SOURCE_DIR}/nl-helper.c
78     ${NETWORK_SOURCE_DIR}/notification.c
79     ${NETWORK_SOURCE_DIR}/restriction-handler.c
80     ${NETWORK_SOURCE_DIR}/restriction-helper.c
81     ${NETWORK_SOURCE_DIR}/restriction-local.c
82     ${NETWORK_SOURCE_DIR}/tethering-restriction.c
83     )
84
85    IF ("${TETHERING_FEATURE}" STREQUAL "ON")
86         SET(TETHERING_FEATURE 1)
87    ENDIF()
88
89    INSTALL(FILES ${NETWORK_SOURCE_DIR}/network.conf
90                 DESTINATION /etc/resourced)
91
92 ENDIF()
93
94 IF("${VIP_AGENT}" STREQUAL "ON")
95   SET(SOURCES ${SOURCES}
96      ${VIP_SOURCE_DIR}/vip-process.c
97     )
98 ENDIF()
99
100 #logging module
101 IF("${LOGGING_MODULE}" STREQUAL "ON")
102   SET(SOURCES ${SOURCES}
103     ${LOGGING_SOURCE_DIR}/logging.c
104     )
105   ADD_DEFINITIONS("-DLOGGING_SUPPORT")
106 #logging memory
107   IF("${LOGGING_MEMORY}" STREQUAL "ON")
108     SET(SOURCES ${SOURCES}
109       ${MEMORY_SOURCE_DIR}/logging-memory.c
110       )
111   ENDIF()
112 #logging cpu
113   IF("${LOGGING_CPU}" STREQUAL "ON")
114     SET(SOURCES ${SOURCES}
115       ${CPU_SOURCE_DIR}/logging-cpu.c
116       )
117   ENDIF()
118 ENDIF()
119
120 #memory module
121 IF("${MEMORY_MODULE}" STREQUAL "ON")
122   SET(SOURCES ${SOURCES}
123     ${MEMORY_SOURCE_DIR}/lowmem-dbus.c
124   )
125   IF("${MEMORY_CGROUP}" STREQUAL "ON")
126     SET(SOURCES ${SOURCES}
127       ${MEMORY_SOURCE_DIR}/vmpressure-lowmem-handler.c
128     )
129   ELSE()
130     SET(SOURCES ${SOURCES}
131       ${MEMORY_SOURCE_DIR}/lowmem-handler.c
132     )
133   ENDIF()
134   ADD_DEFINITIONS("-DMEMORY_SUPPORT")
135 ENDIF()
136
137 #swap module
138 IF("${SWAP_MODULE}" STREQUAL "ON")
139   SET(SOURCES ${SOURCES}
140     ${SWAP_SOURCE_DIR}/swap.c
141     )
142   ADD_DEFINITIONS("-DSWAP_SUPPORT")
143 ENDIF()
144
145 IF("${CPU_MODULE}" STREQUAL "ON")
146   SET(SOURCES ${SOURCES}
147     ${CPU_SOURCE_DIR}/cpu.c
148     )
149 ENDIF()
150
151 IF("${TIMER_SLACK}" STREQUAL "ON")
152   SET(SOURCES ${SOURCES}
153     ${TIMER_SOURCE_DIR}/timer-slack.c
154     )
155 ENDIF()
156
157 SET (REQUIRES_LIST ${REQUIRES_LIST}
158         ecore
159         dlog
160         glib-2.0
161         sqlite3
162         vconf
163         vconf-internal-keys
164         ecore-file
165         eina
166         edbus
167         libsystemd-daemon
168         journal
169 )
170
171 IF("${LOGGING_MODULE}" STREQUAL "ON")
172   SET (REQUIRES_LIST ${REQUIRES_LIST}
173         libsystemd-journal
174   )
175 ENDIF()
176
177 INCLUDE(FindPkgConfig)
178 pkg_check_modules(daemon_pkgs REQUIRED ${REQUIRES_LIST})
179
180 FOREACH(flag ${daemon_pkgs_CFLAGS})
181         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -pthread")
182 ENDFOREACH(flag)
183
184 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
185
186 CONFIGURE_FILE(${INCLUDE_COMMON_DIR}/config.h.in
187   ${INCLUDE_COMMON_DIR}/config.h)
188
189 ADD_EXECUTABLE(hashtest ${UTILS_SOURCE_DIR}/hashtest.c)
190 TARGET_LINK_LIBRARIES(hashtest ${daemon_pkgs_LDFLAGS})
191
192 ADD_EXECUTABLE(cgroup-test ${UTILS_SOURCE_DIR}/cgroup-test.c
193         ${COMMON_SOURCE_DIR}/cgroup.c
194         ${COMMON_SOURCE_DIR}/file-helper.c
195         ${COMMON_SOURCE_DIR}/appid-helper.c
196         ${NETWORK_SOURCE_DIR}/net-cls-cgroup.c
197         )
198 TARGET_LINK_LIBRARIES(cgroup-test ${daemon_pkgs_LDFLAGS} "-L/lib/ -lrt")
199
200 ADD_EXECUTABLE (${PROJECT_NAME} ${HEADERS} ${SOURCES})
201 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
202   ${daemon_pkgs_LDFLAGS}
203 )
204
205 IF("${NETWORK_MODULE}" STREQUAL "ON")
206   TARGET_LINK_LIBRARIES(${PROJECT_NAME}
207     resourced
208     app-stat
209     storage
210     settings
211     net-cls
212     roaming
213     net-iface
214   )
215
216   IF("${CMAKE_BUILD_TYPE}" STREQUAL  "DEBUG")
217         ADD_EXECUTABLE(test-udp-server ${UTILS_SOURCE_DIR}/udp-server.c ${UTILS_SOURCE_DIR}/udp-common.c)
218         ADD_EXECUTABLE(test-udp-client ${UTILS_SOURCE_DIR}/udp-client.c ${UTILS_SOURCE_DIR}/udp-common.c)
219   ADD_EXECUTABLE(iface-test ${UTILS_SOURCE_DIR}/iface-test.c)
220   TARGET_LINK_LIBRARIES(iface-test net-iface ${daemon_pkgs_LDFLAGS})
221
222   ENDIF()
223
224   INSTALL(FILES ${DATA_DIR}/traffic_db.sql
225     DESTINATION /usr/share)
226 ENDIF()
227
228 INSTALL(FILES ${INCLUDE_PUBLIC_DIR}/resourced.h DESTINATION include/system)
229
230 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SKIP_BUILD_RPATH true)
231 INSTALL(FILES ${PROJECT_NAME}
232   DESTINATION ${MAKE_INSTALL_PREFIX}/usr/bin RENAME resourced
233   PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE WORLD_EXECUTE)
234
235 IF("${MEMORY_ENG}" STREQUAL "ON")
236   INSTALL(FILES ${MEMORY_SOURCE_DIR}/memory_eng.conf
237     DESTINATION /etc/resourced RENAME memory.conf)
238 ELSE()
239   INSTALL(FILES ${MEMORY_SOURCE_DIR}/memory_user.conf
240     DESTINATION /etc/resourced RENAME memory.conf)
241 ENDIF()
242
243 IF("${SWAP_MODULE}" STREQUAL "ON")
244         INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/scripts/resourced-zram.sh DESTINATION bin)
245 ENDIF()
246
247 IF("${CPU_MODULE}" STREQUAL "ON")
248   INSTALL(FILES ${CPU_SOURCE_DIR}/cpu.conf
249     DESTINATION /etc/resourced RENAME cpu.conf)
250 ELSE()
251   INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/scripts/resourced-cpucgroup.sh DESTINATION bin)
252 ENDIF()
253
254 IF("${TIMER_SLACK}" STREQUAL "ON")
255   INSTALL(FILES ${TIMER_SOURCE_DIR}/timer-slack.conf
256     DESTINATION /etc/resourced RENAME timer-slack.conf)
257 ENDIF()
258
259 IF("${VIP_AGENT}" STREQUAL "ON")
260 ADD_EXECUTABLE(vip-release-agent ${VIP_SOURCE_DIR}/vip-release-agent.c)
261 TARGET_LINK_LIBRARIES(vip-release-agent dlog)
262 INSTALL(TARGETS vip-release-agent DESTINATION /usr/bin)
263 INSTALL(FILES ${VIP_SOURCE_DIR}/vip-process.conf DESTINATION /etc/resourced RENAME vip-process.conf)
264 ENDIF()