CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(data-provider-master C)
+PROJECT(data-provider-master C CXX)
+
+SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
+SET(EXEC_PREFIX "\${prefix}")
+SET(PROJECT_NAME "${PROJECT_NAME}")
+SET(LIBDIR ${LIB_INSTALL_DIR})
+SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
+SET(VERSION_MAJOR 1)
+SET(VERSION "${VERSION_MAJOR}.0.0")
INCLUDE(FindPkgConfig)
-pkg_check_modules(pkg REQUIRED
- ail
+pkg_check_modules(pkgs REQUIRED
dlog
aul
vconf
sqlite3
- db-util
glib-2.0
gio-2.0
+ gio-unix-2.0
bundle
- ecore-x
- ecore
- com-core
- x11
- libdri2
- libdrm
- libtbm
- xfixes
- dri2proto
- xext
- xdamage
pkgmgr
- livebox-service
notification
- notification-service
+ notification-ex
badge
- badge-service
libsmack
shortcut
+ pkgmgr-info
+ libsystemd
+ capi-appfw-app-manager
+ alarm-service
+ libtzplatform-config
+ security-manager
)
-SET(PACKAGE "${PROJECT_NAME}")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-#ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
-ADD_DEFINITIONS("-DPATH_MAX=256")
-ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
-ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
-
-ADD_DEFINITIONS("-DINFO_SOCKET=\"/opt/usr/share/live_magazine/.live.socket\"")
-ADD_DEFINITIONS("-DCLIENT_SOCKET=\"/opt/usr/share/live_magazine/.client.socket\"")
-ADD_DEFINITIONS("-DSLAVE_SOCKET=\"/opt/usr/share/live_magazine/.slave.socket\"")
-ADD_DEFINITIONS("-DSERVICE_SOCKET=\"/opt/usr/share/live_magazine/.service.socket\"")
-
-ADD_DEFINITIONS("-DCLIENT_PORT=\"8208\"")
+FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall -Werror -Winline")
-ADD_DEFINITIONS("-DBADGE_SOCKET=\"/tmp/.badge.service\"")
-ADD_DEFINITIONS("-DSHORTCUT_SOCKET=\"/tmp/.shortcut.service\"")
-ADD_DEFINITIONS("-DNOTIFICATION_SOCKET=\"/tmp/.notification.service\"")
-ADD_DEFINITIONS("-DUTILITY_SOCKET=\"/tmp/.utility.service\"")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-ADD_DEFINITIONS("-DUTILITY_SMACK_LABEL=\"data-provider-master::utility\"")
-ADD_DEFINITIONS("-DSHORTCUT_SMACK_LABEL=\"data-provider-master::shortcut\"")
-ADD_DEFINITIONS("-DNOTIFICATION_SMACK_LABEL=\"data-provider-master::notification\"")
-ADD_DEFINITIONS("-DBADGE_SMACK_LABEL=\"data-provider-master::badge\"")
-ADD_DEFINITIONS("-DDATA_SHARE_LABEL=\"data-provider-master::share\"")
-
-ADD_DEFINITIONS("-DDEFAULT_MASTER_CONF=\"/usr/share/data-provider-master/conf.ini\"")
-
-ADD_DEFINITIONS("-DNDEBUG")
-
-ADD_DEFINITIONS("-D_USE_ECORE_TIME_GET")
-#ADD_DEFINITIONS("-D_APPLY_SCRIPT_ASYNC_UPDATE")
-#ADD_DEFINITIONS("-DFLOG")
-ADD_DEFINITIONS(${pkg_CFLAGS})
-ADD_DEFINITIONS(${pkg_LDFLAGS})
-
-ADD_EXECUTABLE(${PROJECT_NAME}
- src/main.c
- src/util.c
- src/fault_manager.c
- src/parser.c
- src/conf.c
- src/dead_monitor.c
- src/group.c
- src/script_handler.c
- src/buffer_handler.c
- src/io.c
- src/xmonitor.c
- src/slave_life.c
- src/slave_rpc.c
- src/client_life.c
- src/client_rpc.c
- src/setting.c
- src/package.c
- src/instance.c
- src/server.c
- src/abi.c
- src/critical_log.c
- src/liveinfo.c
- src/pkgmgr.c
- src/event.c
- src/shortcut_service.c
- src/badge_service.c
- src/notification_service.c
- src/utility_service.c
- src/file_service.c
- src/service_common.c
-)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkg_LDFLAGS} "-ldl -lrt")
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/abi.ini DESTINATION /usr/share/data-provider-master PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+AUX_SOURCE_DIRECTORY(src SOURCES)
+ADD_EXECUTABLE(${PROJECT_NAME} ${SOURCES})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/${PRODUCT}.conf.ini DESTINATION /usr/share/data-provider-master RENAME "conf.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fPIE")
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/resolution.ini DESTINATION /usr/share/data-provider-master PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "${PROJECT_NAME}")
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
-# INCLUDE FOR BUILD & INSTALL .PO FILES
-ADD_SUBDIRECTORY(res)
-ADD_SUBDIRECTORY(data)
-ADD_SUBDIRECTORY(pkgmgr_livebox)
+CONFIGURE_FILE(data-provider-master.conf.in data-provider-master.conf @ONLY)
+CONFIGURE_FILE(org.tizen.data-provider-master.service.in org.tizen.data_provider_service.service @ONLY)
-if ("${ENGINEER_BINARY}" STREQUAL "true")
-ADD_SUBDIRECTORY(util_liveinfo)
-endif ("${ENGINEER_BINARY}" STREQUAL "true")
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.data_provider_service.service DESTINATION ${SHARE_INSTALL_PREFIX}/dbus-1/system-services/)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.conf DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d/)