cpu-boosting: implement set and clear funcs
[platform/core/system/resourced.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(fw_name "resourced")
4 SET(RESOURCED resourced)
5 SET(LIBS libs)
6
7 PROJECT(${fw_name})
8
9 #Set CFLAGS
10 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE -DRESOURCED_BUILD -Wall -Werror -fvisibility=hidden")
11 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE -DRESOURCED_BUILD -Wall -Werror -fvisibility=hidden")
12
13 IF(DEFINED ASAN_BUILD)
14   STRING(REGEX REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
15   STRING(REGEX REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
16 ENDIF()
17
18 #Set as-needed
19 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed")
20 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
21
22 #Set debug-mode if needed
23 IF("${CMAKE_BUILD_TYPE}" STREQUAL  "DEBUG")
24   STRING(REGEX REPLACE "-O2" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
25   STRING(REGEX REPLACE "-D_FORTIFY_SOURCE=2" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
26   SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -O0 -g")
27   SET(CMAKE_VERBOSE_MAKEFILE ON)
28   SET(VERBOSE 1)
29 ELSE()
30 #set compile size optimization option in case of none DEBUG
31   SET(ADDITIONAL_OFLAGS "-fdata-sections -ffunction-sections -Wl,--gc-sections -fno-exceptions")
32   SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${ADDITIONAL_OFLAGS}")
33   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ADDITIONAL_OFLAGS}")
34 ENDIF()
35
36 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
37 SET(VERSION ${FULLVER})
38
39 #init variables with sources
40 SET(DATA_DIR                                        ${CMAKE_SOURCE_DIR}/data)
41 SET(CMAKELISTS_DIR                                  ${CMAKE_SOURCE_DIR}/CMakeLists)
42 SET(INCLUDE_COMMON_DIR                              ${CMAKE_SOURCE_DIR}/src/common)
43 SET(INCLUDE_CGROUP_DIR                              ${CMAKE_SOURCE_DIR}/src/common/cgroup)
44 SET(INCLUDE_PUBLIC_DIR                              ${CMAKE_SOURCE_DIR}/include)
45 SET(CONF_DIR                                                                            ${CMAKE_SOURCE_DIR}/conf)
46 SET(RESOURCED_INCLUDEDIR                            ${INCLUDE_COMMON_DIR} ${INCLUDE_CGROUP_DIR} ${INCLUDE_PUBLIC_DIR})
47
48 #misc
49 SET(SOURCE_DIR                                      ${CMAKE_SOURCE_DIR}/src)
50 SET(RESOURCED_SOURCE_DIR                            ${SOURCE_DIR}/resourced)
51 SET(COMMON_SOURCE_DIR                               ${SOURCE_DIR}/common)
52
53 #cgroup
54 SET(CGROUP_SOURCE_DIR                               ${COMMON_SOURCE_DIR}/cgroup)
55
56 #resource-optimizer source folders
57 SET(RESOURCE_OPTIMIZER_SOURCE_DIR                   ${SOURCE_DIR}/resource-optimizer)
58 SET(CPU_RESOURCE_OPTIMIZER_SOURCE_DIR               ${RESOURCE_OPTIMIZER_SOURCE_DIR}/cpu)
59 SET(MEMORY_RESOURCE_OPTIMIZER_SOURCE_DIR            ${RESOURCE_OPTIMIZER_SOURCE_DIR}/memory)
60 SET(DEDUP_SOURCE_DIR                                ${RESOURCE_OPTIMIZER_SOURCE_DIR}/memory/dedup)
61 SET(SWAP_SOURCE_DIR                                 ${RESOURCE_OPTIMIZER_SOURCE_DIR}/memory/swap)
62 SET(COMPACTION_SOURCE_DIR                           ${RESOURCE_OPTIMIZER_SOURCE_DIR}/memory/compaction)
63
64 #resource-limiter source folders
65 SET(RESOURCE_LIMITER_SOURCE_DIR                     ${SOURCE_DIR}/resource-limiter)
66 SET(FREEZER_SOURCE_DIR                              ${RESOURCE_LIMITER_SOURCE_DIR}/freezer)
67 SET(MEMORY_LIMITER_SOURCE_DIR                       ${RESOURCE_LIMITER_SOURCE_DIR}/memory)
68 SET(CPU_LIMITER_SOURCE_DIR                          ${RESOURCE_LIMITER_SOURCE_DIR}/cpu)
69
70 #resource-monitor source folders
71 SET(RESOURCE_MONITOR_SOURCE_DIR                     ${SOURCE_DIR}/resource-monitor)
72 SET(CPU_MONITOR_SOURCE_DIR                          ${RESOURCE_MONITOR_SOURCE_DIR}/cpu)
73 SET(MEMORY_MONITOR_SOURCE_DIR                       ${RESOURCE_MONITOR_SOURCE_DIR}/memory)
74 SET(STORAGE_MONITOR_SOURCE_DIR                      ${RESOURCE_MONITOR_SOURCE_DIR}/storage)
75 SET(DBUS_MONITOR_SOURCE_DIR                         ${RESOURCE_MONITOR_SOURCE_DIR})
76 SET(BATTERY_MONITOR_SOURCE_DIR                      ${RESOURCE_MONITOR_SOURCE_DIR}/battery)
77 SET(ABNORMAL_MONITOR_SOURCE_DIR                     ${RESOURCE_MONITOR_SOURCE_DIR}/abnormal)
78
79 #process
80 SET(PROCESS_SOURCE_DIR                              ${SOURCE_DIR}/process)
81 SET(BLOCK_SOURCE_DIR                                ${PROCESS_SOURCE_DIR}/block)
82 SET(WATCHDOG_SOURCE_DIR                             ${PROCESS_SOURCE_DIR}/watchdog)
83 SET(PRIORITY_SOURCE_DIR                             ${PROCESS_SOURCE_DIR}/priority)
84
85
86 INSTALL(FILES ${CONF_DIR}/org.tizen.resourced.conf DESTINATION /etc/dbus-1/system.d)
87
88 ADD_SUBDIRECTORY(src)
89 IF(DEFINED RD_TESTS_PATH)
90   ENABLE_TESTING()
91   ADD_SUBDIRECTORY(tests)
92 ENDIF(DEFINED RD_TESTS_PATH)