CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET(REQUIRES_LIST ${REQUIRES_LIST} glib-2.0 gio-2.0 gio-unix-2.0 dlog vconf capi-system-info openssl ) IF("${ENABLE_DATABASE}" STREQUAL "YES") SET(REQUIRES_LIST ${REQUIRES_LIST} sqlite3) ENDIF() INCLUDE(FindPkgConfig) PKG_CHECK_MODULES(stc_pkgs REQUIRED "${REQUIRES_LIST}") FOREACH(flag ${stc_pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(SOURCE_DIR ${CMAKE_SOURCE_DIR}/src) SET(HELPER_SOURCE_DIR ${SOURCE_DIR}/helper) SET(DATABASE_SOURCE_DIR ${SOURCE_DIR}/database) SET(MONITOR_SOURCE_DIR ${SOURCE_DIR}/monitor) SET(CONFIGURE_SOURCE_DIR ${SOURCE_DIR}/configure) SET(LIMITATION_SOURCE_DIR ${SOURCE_DIR}/limitation) SET(PLUGIN_DIR ${CMAKE_SOURCE_DIR}/plugin) SET(APPSTATUS_SOURCE_DIR ${PLUGIN_DIR}/appstatus) SET(EXCEPTION_SOURCE_DIR ${PLUGIN_DIR}/exception) SET(PROCFS_SOURCE_DIR ${PLUGIN_DIR}/procfs) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/interfaces) INCLUDE_DIRECTORIES(${SOURCE_DIR}) INCLUDE_DIRECTORIES(${HELPER_SOURCE_DIR}) INCLUDE_DIRECTORIES(${DATABASE_SOURCE_DIR}) INCLUDE_DIRECTORIES(${DATABASE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${MONITOR_SOURCE_DIR}) INCLUDE_DIRECTORIES(${MONITOR_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CONFIGURE_SOURCE_DIR}) INCLUDE_DIRECTORIES(${CONFIGURE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${LIMITATION_SOURCE_DIR}) INCLUDE_DIRECTORIES(${LIMITATION_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${APPSTATUS_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${EXCEPTION_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${PROCFS_SOURCE_DIR}/include) FILE(GLOB SOURCE_SRCS ${SOURCE_DIR}/*.c) FILE(GLOB HELPER_SRCS ${HELPER_SOURCE_DIR}/*.c) FILE(GLOB MONITOR_SRCS ${MONITOR_SOURCE_DIR}/*.c) FILE(GLOB CONFIGURE_SRCS ${CONFIGURE_SOURCE_DIR}/*.c) FILE(GLOB LIMITATION_SRCS ${LIMITATION_SOURCE_DIR}/*.c) SET(SRCS ${SRCS} ${SOURCE_SRCS} ${HELPER_SRCS} ${MONITOR_SRCS} ${CONFIGURE_SRCS} ${LIMITATION_SRCS}) IF("${ENABLE_DATABASE}" STREQUAL "YES") FILE(GLOB DATABASE_SRCS ${DATABASE_SOURCE_DIR}/*.c) FILE(GLOB DATABASE_TABLES_SRCS ${DATABASE_SOURCE_DIR}/tables/*.c) SET(SRCS ${SRCS} ${DATABASE_SRCS} ${DATABASE_TABLES_SRCS}) INSTALL(FILES ${DATA_DIR}/traffic_db.sql DESTINATION /usr/share) INSTALL(FILES ${DATA_DIR}/firewall_db.sql DESTINATION /usr/share) ENDIF() IF(BUILD_GTESTS) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fprofile-arcs -ftest-coverage") ELSE(BUILD_GTESTS) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration -fvisibility=hidden") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") ENDIF(BUILD_GTESTS) SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") ADD_DEFINITIONS("-DUSE_DLOG") ADD_DEFINITIONS("-DDATABASE_FULL_PATH=\"${DATABASE_FULL_PATH}\"") IF(BUILD_GTESTS) ADD_DEFINITIONS(-DTIZEN_GTESTS) ENDIF(BUILD_GTESTS) SET(SRCS ${SRCS} ${INTERFACES}/generated-code.c) SET_SOURCE_FILES_PROPERTIES(${INTERFACES}/generated-code.c PROPERTIES GENERATED TRUE) ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${stc_pkgs_LDFLAGS} -ldl) INSTALL(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${BIN_DIR}) ADD_DEPENDENCIES(${PROJECT_NAME} GENERATED_DBUS_CODE) ADD_SUBDIRECTORY(utils)