Remove UI related code from pkgmgr-server
[platform/core/appfw/slp-pkgmgr.git] / CMakeLists.txt
1
2 # Copyright (c) 2008 ~ 2010 Samsung Electronics Co., Ltd.
3 # All rights reserved
4 #
5
6 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
7 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
8
9 PROJECT(package-manager C)
10 INCLUDE(TizenCommon)
11
12 SET(VERSION 0.1.68)
13 SET(VERSION_MAJOR 0)
14
15 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
16 SET(EXEC_PREFIX "\${prefix}")
17 SET(LIBDIR ${LIB_INSTALL_DIR})
18 SET(INCLUDEDIR "\${prefix}/include")
19
20
21 set(CMAKE_SKIP_BUILD_RPATH true)
22
23 #Verbose
24 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/comm )
25
26 INCLUDE(FindPkgConfig)
27 pkg_check_modules(pkgs REQUIRED security-server dlog ecore ail ecore-file pkgmgr-parser pkgmgr-info iniparser libtzplatform-config notification)
28
29 FOREACH(flag ${pkgs_CFLAGS})
30         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 ENDFOREACH(flag)
32
33 pkg_check_modules(libpkgs REQUIRED dbus-glib-1 dlog ail pkgmgr-parser pkgmgr-info iniparser libtzplatform-config notification)
34
35 FOREACH(flag ${libpkgs_CFLAGS})
36         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
37 ENDFOREACH(flag)
38
39 SET(pm_dir "${CMAKE_SOURCE_DIR}")
40 SET(pm_inc_dir "${pm_dir}/include")
41 SET(pm_c_src_dir "${pm_dir}/client/src")
42 SET(pm_c_inc_dir "${pm_dir}/client/include")
43 SET(pm_s_src_dir "${pm_dir}/server/src")
44 SET(pm_s_inc_dir "${pm_dir}/server/include")
45 SET(pm_t_inc_dir "${pm_dir}/types/include")
46
47 ## About debug
48 SET(debug_type "-DPM_CONSOLE_USE")              # for debug - use console window
49
50 ## Additional flag
51 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
52 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
53 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
54
55 ##################
56 ## build comm libraries
57 add_subdirectory(comm)
58 add_subdirectory(tool)
59 add_subdirectory(types)
60
61 ###################################################################################################
62 ## for libpkgmgr-client.so (library)
63 SET(PKGMGR_CLIENT "pkgmgr-client")
64 SET(libpkgmgr-client_SOURCES ${pm_c_src_dir}/pkgmgr-internal.c ${pm_c_src_dir}/pkgmgr.c ${pm_c_src_dir}/pkgmgr-dbinfo.c)
65 SET(libpkgmgr-client_LDFLAGS " -module -avoid-version ")
66 SET(libpkgmgr-client_CFLAGS  " ${CFLAGS} -fPIC -I${pm_c_inc_dir} -I${pm_inc_dir} -I${pm_t_inc_dir} ${debug_type}")
67
68 ADD_LIBRARY(${PKGMGR_CLIENT} SHARED ${libpkgmgr-client_SOURCES})
69 SET_TARGET_PROPERTIES(${PKGMGR_CLIENT} PROPERTIES SOVERSION ${VERSION_MAJOR})
70 SET_TARGET_PROPERTIES(${PKGMGR_CLIENT} PROPERTIES VERSION ${VERSION})
71 SET_TARGET_PROPERTIES(${PKGMGR_CLIENT} PROPERTIES COMPILE_FLAGS "${libpkgmgr-client_CFLAGS}")
72 TARGET_LINK_LIBRARIES(${PKGMGR_CLIENT} pkgmgr_installer_client pkgmgr_installer_status_broadcast_server pkgmgr-info ${libpkgs_LDFLAGS})
73 ###################################################################################################
74
75 ###################################################################################################
76 ## for pkgmgr-server (binary)
77 SET(pkgmgr-server_SOURCES ${pm_s_src_dir}/pkgmgr-server.c ${pm_s_src_dir}/pm-queue.c)
78 SET(pkgmgr-server_CFLAGS " -I. -I${pm_inc_dir} -I${pm_s_inc_dir} -I${pm_dir}/comm ${debug_type} -D_GNU_SOURCE ")
79 SET(pkgmgr-server_LDFLAGS ${pkgs_LDFLAGS})
80
81 ADD_EXECUTABLE(pkgmgr-server ${pkgmgr-server_SOURCES})
82 TARGET_LINK_LIBRARIES(pkgmgr-server pkgmgr_installer pkgmgr_installer_pkg_mgr_server)
83 TARGET_LINK_LIBRARIES(pkgmgr-server ${pkgs_LDFLAGS})
84 SET_TARGET_PROPERTIES(pkgmgr-server PROPERTIES COMPILE_FLAGS "${pkgmgr-server_CFLAGS}")
85 ####################################################################################################
86
87 CONFIGURE_FILE(pkgmgr.pc.in pkgmgr.pc @ONLY)
88 configure_file(org.tizen.slp.pkgmgr.service.in org.tizen.slp.pkgmgr.service @ONLY)
89 configure_file(org.tizen.slp.pkgmgr.conf.in org.tizen.slp.pkgmgr.conf @ONLY)
90 configure_file(pkg_path.conf.in pkg_path.conf @ONLY)
91 configure_file(pkgmgr.patch.sh.in pkgmgr.patch.sh @ONLY)
92
93 #INSTALL(FILES ${CMAKE_BINARY_DIR}/libpkgmgr-client.so DESTINATION ${LIB_INSTALL_DIR})
94 INSTALL(TARGETS ${PKGMGR_CLIENT} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
95 INSTALL(FILES ${CMAKE_BINARY_DIR}/pkgmgr-server DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
96 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
97 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/client/include/package-manager.h DESTINATION include)
98 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/client/include/pkgmgr-dbinfo.h DESTINATION include)
99 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.slp.pkgmgr.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
100 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.slp.pkgmgr.conf DESTINATION ${SYSCONFDIR}/dbus-1/system.d/)
101 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkg_path.conf DESTINATION ${SYSCONFDIR}/package-manager/)
102 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/queue_status DESTINATION ${SYSCONFDIR}/package-manager/server/)
103 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr.patch.sh DESTINATION ${SYSCONFDIR}/opt/upgrade/)
104
105 ####################################################################################################
106 add_subdirectory(installers)
107 # i18n
108 add_subdirectory(po)