5d9bf55fe35f21f6db4509c031df70e67ab1e749
[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 csr capi-system-info)
29
30 pkg_check_modules(SERVER_DEPS REQUIRED ${SERVER_CHECK_MODULES})
31
32 FOREACH(SERVER_FLAGS ${SERVER_DEPS_CFLAGS})
33         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SERVER_FLAGS}")
34 ENDFOREACH(SERVER_FLAGS)
35
36 ADD_EXECUTABLE(${PKGMGR_SERVER} ${SRCS})
37 TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} pkgmgr_installer)
38 TARGET_LINK_LIBRARIES(${PKGMGR_SERVER} ${SERVER_DEPS_LDFLAGS})
39
40 CONFIGURE_FILE(org.tizen.pkgmgr.service.in org.tizen.pkgmgr.service @ONLY)
41 CONFIGURE_FILE(package-manager.service.in package-manager.service @ONLY)
42
43 INSTALL(TARGETS ${PKGMGR_SERVER} DESTINATION bin)
44 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
45 INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d
46         FILES_MATCHING
47         PATTERN "*.conf")
48
49 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/package-manager.service DESTINATION ${UNITDIR})