1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 SET(fw_name "resourced")
4 SET(RESOURCED resourced)
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")
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})
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")
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)
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}")
36 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
37 SET(VERSION ${FULLVER})
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_PUBLIC_DIR ${CMAKE_SOURCE_DIR}/include)
44 SET(RESOURCED_INCLUDEDIR ${INCLUDE_COMMON_DIR} ${INCLUDE_PUBLIC_DIR})
46 SET(SOURCE_DIR ${CMAKE_SOURCE_DIR}/src)
47 SET(RESOURCED_SOURCE_DIR ${SOURCE_DIR}/resourced)
48 SET(PROCESS_SOURCE_DIR ${SOURCE_DIR}/process)
49 SET(MEMORY_SOURCE_DIR ${SOURCE_DIR}/memory)
50 SET(SWAP_SOURCE_DIR ${SOURCE_DIR}/swap)
51 SET(MODULES_SOURCE_DIR ${SOURCE_DIR}/modules)
52 SET(FREEZER_SOURCE_DIR ${SOURCE_DIR}/freezer)
53 SET(HEART_SOURCE_DIR ${SOURCE_DIR}/heart)
54 SET(COMMON_SOURCE_DIR ${SOURCE_DIR}/common)
55 SET(CPU_SOURCE_DIR ${SOURCE_DIR}/cpu)
56 SET(VIP_SOURCE_DIR ${SOURCE_DIR}/vip-agent)
57 SET(BLOCK_SOURCE_DIR ${SOURCE_DIR}/block)
58 SET(DEDUP_SOURCE_DIR ${SOURCE_DIR}/dedup)
60 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resourced.conf DESTINATION /etc/dbus-1/system.d)
63 IF(DEFINED RD_TESTS_PATH)
65 ADD_SUBDIRECTORY(tests)
66 ENDIF(DEFINED RD_TESTS_PATH)