resourced.spec: Undo modification of light package
[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_PROCFS_DIR                              ${CMAKE_SOURCE_DIR}/src/common/procfs)
44 SET(INCLUDE_MODULE_DIR                              ${CMAKE_SOURCE_DIR}/src/common/module)
45 SET(INCLUDE_CONF_DIR                                ${CMAKE_SOURCE_DIR}/src/common/conf)
46 SET(INCLUDE_IPC_DIR                                 ${CMAKE_SOURCE_DIR}/src/common/ipc)
47 SET(INCLUDE_CGROUP_DIR                              ${CMAKE_SOURCE_DIR}/src/common/cgroup)
48 SET(INCLUDE_PUBLIC_DIR                              ${CMAKE_SOURCE_DIR}/include)
49 SET(CONF_DIR                                                                            ${CMAKE_SOURCE_DIR}/conf)
50 SET(RESOURCED_INCLUDEDIR                            
51                         ${INCLUDE_COMMON_DIR} ${INCLUDE_CGROUP_DIR} ${INCLUDE_CONF_DIR} ${INCLUDE_IPC_DIR} ${INCLUDE_MODULE_DIR} ${INCLUDE_PROCFS_DIR} ${INCLUDE_PUBLIC_DIR})
52
53 #misc
54 SET(SOURCE_DIR                                      ${CMAKE_SOURCE_DIR}/src)
55 SET(RESOURCED_SOURCE_DIR                            ${SOURCE_DIR}/resourced)
56 SET(COMMON_SOURCE_DIR                               ${SOURCE_DIR}/common)
57
58 #cgroup
59 SET(CGROUP_SOURCE_DIR                               ${COMMON_SOURCE_DIR}/cgroup)
60
61 #conf
62 SET(CONF_SOURCE_DIR                                 ${COMMON_SOURCE_DIR}/conf)
63
64 #ipc (dbus, signal)
65 SET(IPC_SOURCE_DIR                                  ${COMMON_SOURCE_DIR}/ipc)
66
67 #module
68 SET(MODULE_SOURCE_DIR                               ${COMMON_SOURCE_DIR}/module)
69
70 #procfs
71 SET(PROCFS_SOURCE_DIR                                                           ${COMMON_SOURCE_DIR}/procfs)
72
73 #resource-optimizer source folders
74 SET(RESOURCE_OPTIMIZER_SOURCE_DIR                   ${SOURCE_DIR}/resource-optimizer)
75 SET(CPU_RESOURCE_OPTIMIZER_SOURCE_DIR               ${RESOURCE_OPTIMIZER_SOURCE_DIR}/cpu)
76 SET(MEMORY_RESOURCE_OPTIMIZER_SOURCE_DIR            ${RESOURCE_OPTIMIZER_SOURCE_DIR}/memory)
77 SET(DEDUP_SOURCE_DIR                                ${MEMORY_RESOURCE_OPTIMIZER_SOURCE_DIR})
78 SET(SWAP_SOURCE_DIR                                 ${RESOURCE_OPTIMIZER_SOURCE_DIR}/memory/swap)
79 SET(COMPACTION_SOURCE_DIR                           ${MEMORY_RESOURCE_OPTIMIZER_SOURCE_DIR})
80
81 #resource-limiter source folders
82 SET(RESOURCE_LIMITER_SOURCE_DIR                     ${SOURCE_DIR}/resource-limiter)
83 SET(FREEZER_SOURCE_DIR                              ${RESOURCE_LIMITER_SOURCE_DIR}/freezer)
84 SET(MEMORY_LIMITER_SOURCE_DIR                       ${RESOURCE_LIMITER_SOURCE_DIR}/memory)
85 SET(CPU_LIMITER_SOURCE_DIR                          ${RESOURCE_LIMITER_SOURCE_DIR})
86
87 #resource-monitor source folders
88 SET(RESOURCE_MONITOR_SOURCE_DIR                     ${SOURCE_DIR}/resource-monitor)
89
90 #process
91 SET(PROCESS_SOURCE_DIR                              ${SOURCE_DIR}/process)
92 SET(BLOCK_SOURCE_DIR                                ${PROCESS_SOURCE_DIR}/block)
93 SET(WATCHDOG_SOURCE_DIR                             ${PROCESS_SOURCE_DIR}/watchdog)
94
95 INSTALL(FILES ${CONF_DIR}/org.tizen.resourced.conf DESTINATION /etc/dbus-1/system.d)
96
97 ADD_SUBDIRECTORY(src)
98 IF(DEFINED RD_TESTS_PATH)
99   ENABLE_TESTING()
100   ADD_SUBDIRECTORY(tests)
101 ENDIF(DEFINED RD_TESTS_PATH)