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