if it's failed to get the pkgtype from the file, use the pkgtype argument.
[platform/core/appfw/pkgmgr-server.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
3 SET(CMAKE_SKIP_BUILD_RPATH true)
4
5 PROJECT(pkgmgr-server C)
6 SET(VERSION_MAJOR 0)
7 SET(VERSION ${VERSION_MAJOR}.1.68)
8
9 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
10 SET(EXEC_PREFIX "\${prefix}")
11 SET(LIBDIR ${LIB_INSTALL_DIR})
12 SET(INCLUDEDIR "\${prefix}/include")
13
14 ADD_DEFINITIONS(-DDB_DIR="${DB_DIR}")
15 ADD_DEFINITIONS(-DRUN_DIR="${RUN_DIR}")
16 ADD_DEFINITIONS(-DBACKEND_DIR="${BACKEND_DIR}")
17
18 ## Compiler flags
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -g -Wall -fPIE")
20
21 ## Linker flags
22 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
23
24 INCLUDE_DIRECTORIES(include)
25 INCLUDE(FindPkgConfig)
26
27 SET(PKGMGR_SERVER "pkgmgr-server")
28 AUX_SOURCE_DIRECTORY(src SRCS)
29
30 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)
31 IF(TIZEN_FEATURE_CSR)
32         SET(SERVER_CHECK_MODULES "${SERVER_CHECK_MODULES} csr")
33 ENDIF(TIZEN_FEATURE_CSR)
34
35 pkg_check_modules(SERVER_DEPS REQUIRED ${SERVER_CHECK_MODULES})
36
37 FOREACH(SERVER_FLAGS ${SERVER_DEPS_CFLAGS})
38         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SERVER_FLAGS}")
39 ENDFOREACH(SERVER_FLAGS)
40
41 IF(TIZEN_FEATURE_CSR)
42         ADD_DEFINITIONS("-DTIZEN_FEATURE_CSR")
43 ENDIF(TIZEN_FEATURE_CSR)
44
45 ADD_EXECUTABLE(${PKGMGR_SERVER} ${SRCS})
46 TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} pkgmgr_installer)
47 TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} ${SERVER_DEPS_LDFLAGS})
48
49 CONFIGURE_FILE(org.tizen.pkgmgr.service.in org.tizen.pkgmgr.service @ONLY)
50 CONFIGURE_FILE(package-manager.service.in package-manager.service @ONLY)
51
52 INSTALL(TARGETS ${PKGMGR_SERVER} DESTINATION bin)
53 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
54 INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d
55         FILES_MATCHING
56         PATTERN "*.conf")
57
58 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/package-manager.service DESTINATION ${UNITDIR})