SET(LIBDIR ${LIB_INSTALL_DIR})
SET(INCLUDEDIR "\${prefix}/include")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -g -Wall")
+ADD_DEFINITIONS(-DDB_DIR="${DB_DIR}")
+ADD_DEFINITIONS(-DRUN_DIR="${RUN_DIR}")
+ADD_DEFINITIONS(-DBACKEND_DIR="${BACKEND_DIR}")
+
+## Compiler flags
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -g -Wall -fPIE")
+
+## Linker flags
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
INCLUDE_DIRECTORIES(include)
INCLUDE(FindPkgConfig)
SET(PKGMGR_SERVER "pkgmgr-server")
-SET(SRCS src/pkgmgr-server.c src/request.c src/pm-queue.c)
-
-pkg_check_modules(SERVER_DEPS REQUIRED
- gio-2.0
- dlog
- pkgmgr-parser
- pkgmgr-info
- libtzplatform-config
- drm-service-core-tizen
- pkgmgr)
+AUX_SOURCE_DIRECTORY(src SRCS)
+
+SET(SERVER_CHECK_MODULES gio-2.0 glib-2.0 dlog pkgmgr-parser pkgmgr-info libtzplatform-config drm-service-core-tizen libgum sqlite3 pkgmgr pkgmgr-installer libsystemd aul minizip)
+IF(TIZEN_FEATURE_CSR)
+ SET(SERVER_CHECK_MODULES "${SERVER_CHECK_MODULES} csr")
+ENDIF(TIZEN_FEATURE_CSR)
+
+pkg_check_modules(SERVER_DEPS REQUIRED ${SERVER_CHECK_MODULES})
+
FOREACH(SERVER_FLAGS ${SERVER_DEPS_CFLAGS})
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SERVER_FLAGS}")
ENDFOREACH(SERVER_FLAGS)
+IF(TIZEN_FEATURE_CSR)
+ ADD_DEFINITIONS("-DTIZEN_FEATURE_CSR")
+ENDIF(TIZEN_FEATURE_CSR)
+
ADD_EXECUTABLE(${PKGMGR_SERVER} ${SRCS})
TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} pkgmgr_installer)
TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} ${SERVER_DEPS_LDFLAGS})
CONFIGURE_FILE(org.tizen.pkgmgr.service.in org.tizen.pkgmgr.service @ONLY)
-CONFIGURE_FILE(org.tizen.pkgmgr.conf.in org.tizen.pkgmgr.conf @ONLY)
+CONFIGURE_FILE(package-manager.service.in package-manager.service @ONLY)
INSTALL(TARGETS ${PKGMGR_SERVER} DESTINATION bin)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/queue_status DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/server/)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.conf DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d/)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d
+ FILES_MATCHING
+ PATTERN "*.conf")
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/package-manager.service DESTINATION ${UNITDIR})