Refactoring updateinfo related codes
[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
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "\${prefix}")
9 SET(LIBDIR ${LIB_INSTALL_DIR})
10 SET(INCLUDEDIR "\${prefix}/include")
11
12 ADD_DEFINITIONS(-DDB_DIR="${DB_DIR}")
13 ADD_DEFINITIONS(-DRUN_DIR="${RUN_DIR}")
14 ADD_DEFINITIONS(-DBACKEND_DIR="${BACKEND_DIR}")
15
16 ## Compiler flags
17 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -g -Wall -fPIE")
18
19 ## Linker flags
20 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
21
22 INCLUDE_DIRECTORIES(include)
23 INCLUDE(FindPkgConfig)
24
25 SET(PKGMGR_SERVER "pkgmgr-server")
26 AUX_SOURCE_DIRECTORY(src SRCS)
27
28 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)
29 IF(TIZEN_FEATURE_CSR)
30         SET(SERVER_CHECK_MODULES "${SERVER_CHECK_MODULES} csr")
31 ENDIF(TIZEN_FEATURE_CSR)
32
33 pkg_check_modules(SERVER_DEPS REQUIRED ${SERVER_CHECK_MODULES})
34
35 FOREACH(SERVER_FLAGS ${SERVER_DEPS_CFLAGS})
36         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SERVER_FLAGS}")
37 ENDFOREACH(SERVER_FLAGS)
38
39 IF(TIZEN_FEATURE_CSR)
40         ADD_DEFINITIONS("-DTIZEN_FEATURE_CSR")
41 ENDIF(TIZEN_FEATURE_CSR)
42
43 ADD_EXECUTABLE(${PKGMGR_SERVER} ${SRCS})
44 TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} pkgmgr_installer)
45 TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} ${SERVER_DEPS_LDFLAGS})
46
47 CONFIGURE_FILE(org.tizen.pkgmgr.service.in org.tizen.pkgmgr.service @ONLY)
48 CONFIGURE_FILE(package-manager.service.in package-manager.service @ONLY)
49
50 INSTALL(TARGETS ${PKGMGR_SERVER} DESTINATION bin)
51 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
52 INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d
53         FILES_MATCHING
54         PATTERN "*.conf")
55
56 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/package-manager.service DESTINATION ${UNITDIR})