Update source from tizen 2.3
[platform/core/base/rpm-installer.git] / frontend / 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_SKIP_BUILD_RPATH true)
8
9 #Verbose
10 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc ${CMAKE_SOURCE_DIR}/backend/inc ${CMAKE_SOURCE_DIR}/backend/src/inc ${CMAKE_CURRENT_SOURCE_DIR}/inc)
11
12 INCLUDE(FindPkgConfig)
13 pkg_check_modules(pkgs REQUIRED pkgmgr pkgmgr-installer pkgmgr-parser pkgmgr-info pkgmgr-installer-status-broadcast-server security-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util libxml-2.0 app2sd cert-svc
14 xmlsec1 libprivilege-control capi-appfw-app-manager aul capi-system-device minizip)
15
16 FOREACH(flag ${pkgs_CFLAGS})
17         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 ENDFOREACH(flag)
19
20 pkg_check_modules(libpkgs REQUIRED security-server pkgmgr pkgmgr-installer pkgmgr-parser pkgmgr-info pkgmgr-installer-status-broadcast-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util libxml-2.0 app2sd cert-svc
21 xmlsec1 libprivilege-control capi-appfw-app-manager aul capi-system-device minizip)
22
23 FOREACH(flag ${libpkgs_CFLAGS})
24         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
25 ENDFOREACH(flag)
26
27 pkg_check_modules(STATUS pkgmgr-installer-status-broadcast-server pkgmgr pkgmgr-installer pkgmgr-parser libxml-2.0 app2sd pkgmgr-info cert-svc 
28 xmlsec1 libprivilege-control capi-appfw-app-manager aul capi-system-device minizip libtzplatform-config)
29 link_directories (${STATUS_LIBRARY_DIRS})
30 include_directories (${STATUS_INCLUDE_DIRS})
31
32 pkg_check_modules(COMMCLIENT pkgmgr-installer-client)
33 link_directories (${COMMCLIENT_LIBRARY_DIRS})
34 include_directories (${COMMCLIENT_INCLUDE_DIRS})
35
36 pkg_check_modules(SECURITYSERVER security-server)
37 link_directories (${SECURITYSERVER_LIBRARY_DIRS})
38 include_directories (${SECURITYSERVER_INCLUDE_DIRS})
39
40 ## DEFINITIONS
41 ADD_DEFINITIONS("-DAPP_DIR=\"${CMAKE_INSTALL_PREFIX}\"")
42 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
43 ADD_DEFINITIONS("-DXMLSEC_CRYPTO_OPENSSL")
44
45 link_directories ("${STATUS_LIBRARY_DIRS} /usr/lib")
46 include_directories (${STATUS_INCLUDE_DIRS})
47 find_library(RPM_LIBRARY rpm "/usr/lib")
48
49
50 SET(backend_dir "${CMAKE_CURRENT_SOURCE_DIR}/../backend")
51 SET(backend_inc_dir "${backend_dir}/inc")
52 SET(backend_c_src_dir "${backend_dir}/src")
53 SET(backend_c_src_rpm_inc_dir "${backend_dir}/src/rpm/inc")
54 SET(backend_c_src_coretpk_inc_dir "${backend_dir}/src/coretpk/inc")
55 SET(backend_script_dir "${backend_dir}/scripts")
56 SET(SCRIPTS_DIR "${backend_script_dir}")
57
58 SET(frontend_dir "${CMAKE_CURRENT_SOURCE_DIR}")
59 SET(frontend_inc_dir "${frontend_dir}/inc")
60 SET(frontend_c_src_dir "${frontend_dir}/src")
61 SET(frontend_c_ui_src_dir "${frontend_dir}/ui/src")
62 SET(frontend_c_ui_inc_dir "${frontend_dir}/ui/include")
63
64
65
66 ## Additional flag
67 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
68 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -rdynamic")
69 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
70
71 ####################################################################################################
72 ## for rpm-backend (binary)
73 SET(rpm-backend_SOURCES ${backend_c_src_dir}/rpm/rpm-installer-core.c ${backend_c_src_dir}/rpm/rpm-installer-tool.c ${backend_c_src_dir}/rpm/rpm-installer.c
74                                                 ${backend_c_src_dir}/rpm/rpm-installer-signature.c ${backend_c_src_dir}/rpm/rpm-installer-privilege.c
75                                                 ${backend_c_src_dir}/coretpk/coretpk-installer.c
76                                                 ${backend_c_src_dir}/coretpk/xml-parser/coretpk-parser-hybrid.c
77                                                 ${backend_c_src_dir}/vconf/rpm-vconf-intf.c
78                                                 ${frontend_c_src_dir}/rpm-appcore-intf.c  ${frontend_c_src_dir}/rpm-cmdline.c  )
79
80 SET(rpm-backend_CFLAGS " -I. -I/usr/include/rpm -I${backend_inc_dir} -I${backend_c_src_rpm_inc_dir} -I${backend_c_src_coretpk_inc_dir} -I${frontend_inc_dir} -I${frontend_c_ui_inc_dir} ${pkg_CFLAGS}")
81 SET(rpm-backend_LDFLAGS ${pkgs_LDFLAGS})
82
83 ADD_EXECUTABLE(rpm-backend ${rpm-backend_SOURCES})
84 TARGET_LINK_LIBRARIES(rpm-backend rpm-util "rpm" "rpmio" "dl")
85 TARGET_LINK_LIBRARIES(rpm-backend ${libpkgs_LDFLAGS})
86 TARGET_LINK_LIBRARIES(rpm-backend ${COMMCLIENT_LIBRARIES})
87 TARGET_LINK_LIBRARIES(rpm-backend ${APPCODEEFL_LIBRARIES})
88 TARGET_LINK_LIBRARIES(rpm-backend ${SECURITYSERVER_LIBRARIES})
89 TARGET_LINK_LIBRARIES(rpm-backend ${STATUS_LIBRARIES})
90
91 SET_TARGET_PROPERTIES(rpm-backend PROPERTIES COMPILE_FLAGS "${rpm-backend_CFLAGS}")
92 ####################################################################################################
93
94 #SET(RESOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ui/res")
95
96 # INSTALL
97
98 MESSAGE("${CLEAN_FILE_LIST}")
99 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CLEAN_FILE_LIST}")
100
101
102
103 ###################################################################################################i
104 configure_file(${backend_script_dir}/install_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package.sh @ONLY)
105 configure_file(${backend_script_dir}/install_rpm_package_with_dbpath_ro.sh.in ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package_with_dbpath_ro.sh @ONLY)
106 configure_file(${backend_script_dir}/install_rpm_package_with_dbpath_rw.sh.in ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package_with_dbpath_rw.sh @ONLY)
107 configure_file(${backend_script_dir}/uninstall_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/uninstall_rpm_package.sh @ONLY)
108 configure_file(${backend_script_dir}/upgrade_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package.sh @ONLY)
109 configure_file(${backend_script_dir}/upgrade_rpm_package_with_dbpath_ro.sh.in ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package_with_dbpath_ro.sh @ONLY)
110 configure_file(${backend_script_dir}/upgrade_rpm_package_with_dbpath_rw.sh.in ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package_with_dbpath_rw.sh @ONLY)
111 configure_file(${backend_script_dir}/query_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/query_rpm_package.sh @ONLY)
112 configure_file(${backend_script_dir}/cpio_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/cpio_rpm_package.sh @ONLY)
113 configure_file(${backend_script_dir}/cpio_rpm_package_update_xml.sh.in ${CMAKE_CURRENT_BINARY_DIR}/cpio_rpm_package_update_xml.sh @ONLY)
114 configure_file(${backend_script_dir}/rpm_update_xml.sh.in ${CMAKE_CURRENT_BINARY_DIR}/rpm_update_xml.sh @ONLY)
115 configure_file(${backend_script_dir}/coretpk_ro_xml_converter.sh.in ${CMAKE_CURRENT_BINARY_DIR}/coretpk_ro_xml_converter.sh @ONLY)
116 configure_file(${backend_script_dir}/coretpk_rw_xml_converter.sh.in ${CMAKE_CURRENT_BINARY_DIR}/coretpk_rw_xml_converter.sh @ONLY)
117 configure_file(${backend_script_dir}/coretpk_category_converter.sh.in ${CMAKE_CURRENT_BINARY_DIR}/coretpk_category_converter.sh @ONLY)
118
119 INSTALL(FILES
120                 ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package.sh
121                 ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package_with_dbpath_ro.sh
122                 ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package_with_dbpath_rw.sh
123                 ${CMAKE_CURRENT_BINARY_DIR}/uninstall_rpm_package.sh
124                 ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package.sh
125                 ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package_with_dbpath_ro.sh
126                 ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package_with_dbpath_rw.sh
127                 ${CMAKE_CURRENT_BINARY_DIR}/query_rpm_package.sh
128                 ${CMAKE_CURRENT_BINARY_DIR}/cpio_rpm_package.sh
129                 ${CMAKE_CURRENT_BINARY_DIR}/cpio_rpm_package_update_xml.sh
130                 ${CMAKE_CURRENT_BINARY_DIR}/rpm_update_xml.sh
131                 ${CMAKE_CURRENT_BINARY_DIR}/coretpk_ro_xml_converter.sh
132                 ${CMAKE_CURRENT_BINARY_DIR}/coretpk_rw_xml_converter.sh
133                 ${CMAKE_CURRENT_BINARY_DIR}/coretpk_category_converter.sh
134                 DESTINATION bin)
135
136 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/rpm-installer-config.ini DESTINATION /usr/etc)
137 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/coretpk-installer-config.ini DESTINATION /usr/etc)
138 INSTALL(TARGETS rpm-backend DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
139