CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) PROJECT(tizen-theme-manager) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin") SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR "\${prefix}/include") ## Compiler flags SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Werror -ffunction-sections -fdata-sections -fmerge-all-constants -fPIE") ## Linker flags SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--gc-sections -pie") SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") ## Targets SET(TARGET_TIZEN_THEME_PROVIDER "tizen-theme-provider") SET(TARGET_TIZEN_THEME "tizen-theme") SET(TARGET_TIZEN_THEME_PLUGIN "tizen-theme-plugin") SET(TARGET_THEME_PROVIDER "theme-provider") ENABLE_TESTING() SET(TARGET_TIZEN_THEME_UNIT_TEST "tizen-theme-unit-test") INCLUDE(FindPkgConfig) INCLUDE(ApplyPkgConfig) ADD_DEFINITIONS("-DPROJECT_TAG=\"TIZEN_THEME_MANAGER\"") ## Find all needed packages once PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle) PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog) PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0) PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock) PKG_CHECK_MODULES(JSONCPP_DEPS REQUIRED jsoncpp) PKG_CHECK_MODULES(PKGMGR_PARSER_DEPS REQUIRED pkgmgr-parser) PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info) PKG_CHECK_MODULES(SQLITE_DEPS REQUIRED sqlite3) PKG_CHECK_MODULES(GOBJECT_DEPS REQUIRED gobject-2.0) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(test) CONFIGURE_FILE(theme-manager.service.in theme-manager.service @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/theme-manager.service DESTINATION ${UNITDIR}) INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d FILES_MATCHING PATTERN "*.conf")