CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET(fw_name "resourced") SET(RESOURCED resourced) SET(LIBS libs) PROJECT(${fw_name}) #Set CFLAGS SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE -DRESOURCED_BUILD -Wall -Werror -fvisibility=hidden") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE -DRESOURCED_BUILD -Wall -Werror -fvisibility=hidden") IF(DEFINED ASAN_BUILD) STRING(REGEX REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) STRING(REGEX REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) ENDIF() #Set as-needed SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") #Set debug-mode if needed IF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") STRING(REGEX REPLACE "-O2" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) STRING(REGEX REPLACE "-D_FORTIFY_SOURCE=2" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -O0 -g") SET(CMAKE_VERBOSE_MAKEFILE ON) SET(VERBOSE 1) ELSE() #set compile size optimization option in case of none DEBUG SET(ADDITIONAL_OFLAGS "-fdata-sections -ffunction-sections -Wl,--gc-sections -fno-exceptions") SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${ADDITIONAL_OFLAGS}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ADDITIONAL_OFLAGS}") ENDIF() SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(VERSION ${FULLVER}) #init variables with sources SET(DATA_DIR ${CMAKE_SOURCE_DIR}/data) SET(CMAKELISTS_DIR ${CMAKE_SOURCE_DIR}/CMakeLists) SET(INCLUDE_COMMON_DIR ${CMAKE_SOURCE_DIR}/src/common) SET(INCLUDE_PUBLIC_DIR ${CMAKE_SOURCE_DIR}/include) SET(RESOURCED_INCLUDEDIR ${INCLUDE_COMMON_DIR} ${INCLUDE_PUBLIC_DIR}) SET(SOURCE_DIR ${CMAKE_SOURCE_DIR}/src) SET(RESOURCED_SOURCE_DIR ${SOURCE_DIR}/resourced) SET(PROCESS_SOURCE_DIR ${SOURCE_DIR}/process) SET(MEMORY_SOURCE_DIR ${SOURCE_DIR}/memory) SET(SWAP_SOURCE_DIR ${SOURCE_DIR}/swap) SET(MODULES_SOURCE_DIR ${SOURCE_DIR}/modules) SET(FREEZER_SOURCE_DIR ${SOURCE_DIR}/freezer) SET(HEART_SOURCE_DIR ${SOURCE_DIR}/heart) SET(COMMON_SOURCE_DIR ${SOURCE_DIR}/common) SET(CPU_SOURCE_DIR ${SOURCE_DIR}/cpu) SET(VIP_SOURCE_DIR ${SOURCE_DIR}/vip-agent) SET(BLOCK_SOURCE_DIR ${SOURCE_DIR}/block) SET(DEDUP_SOURCE_DIR ${SOURCE_DIR}/dedup) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resourced.conf DESTINATION /etc/dbus-1/system.d) ADD_SUBDIRECTORY(src) IF(DEFINED RD_TESTS_PATH) ENABLE_TESTING() ADD_SUBDIRECTORY(tests) ENDIF(DEFINED RD_TESTS_PATH)