Return no such pkg error when failed to get pkgtype
[platform/core/appfw/pkgmgr-server.git] / CMakeLists.txt
index 77121f2..b7bf90d 100644 (file)
@@ -15,40 +15,44 @@ ADD_DEFINITIONS(-DDB_DIR="${DB_DIR}")
 ADD_DEFINITIONS(-DRUN_DIR="${RUN_DIR}")
 ADD_DEFINITIONS(-DBACKEND_DIR="${BACKEND_DIR}")
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -g -Wall")
+## 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
-       src/restriction_mode.c
-       )
-
-pkg_check_modules(SERVER_DEPS REQUIRED
-               gio-2.0
-               dlog
-               pkgmgr-parser
-               pkgmgr-info
-               libtzplatform-config
-               drm-service-core-tizen
-               libgum
-               pkgmgr
-               pkgmgr-installer)
+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} -lgdbm)
+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_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})