Add upgrade script for pkg db version 30009
[platform/core/appfw/pkgmgr-tool.git] / CMakeLists.txt
1 #
2 # Copyright (c) 2015 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 SET(CMAKE_SKIP_BUILD_RPATH true)
9
10 PROJECT(pkgmgr-tool)
11
12 #Target
13 SET(TARGET_PKGCMD "pkgcmd")
14 SET(TARGET_PKG_INFO "pkginfo")
15 SET(TARGET_PKG_GETSIZE "pkg_getsize")
16 SET(TARGET_PKG_CLEARDATA "pkg_cleardata")
17 SET(TARGET_INSTALL_PRELOAD_PKG "install_preload_pkg")
18 SET(TARGET_PKG_UPGRADE "pkg_upgrade")
19 SET(TARGET_RES_COPY "res-copy")
20 SET(TARGET_RSC_SLICE "rsc-slice")
21
22 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
23 INCLUDE(FindPkgConfig)
24 INCLUDE(ApplyPkgConfig)
25
26 PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
27 PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
28 PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
29 PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul)
30 PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle)
31 PKG_CHECK_MODULES(PKGMGR_DEPS REQUIRED pkgmgr)
32 PKG_CHECK_MODULES(PKGMGR_PARSER_DEPS REQUIRED pkgmgr-parser)
33 PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info)
34 PKG_CHECK_MODULES(PKGMGR_INSTALLER_DEPS REQUIRED pkgmgr-installer)
35 PKG_CHECK_MODULES(INIPARSER_DEPS REQUIRED iniparser)
36 PKG_CHECK_MODULES(TZPLATFORM_DEPS REQUIRED libtzplatform-config)
37 PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul)
38 PKG_CHECK_MODULES(STORAGE_DEPS REQUIRED storage)
39 PKG_CHECK_MODULES(SQLITE_DEPS REQUIRED sqlite3)
40 PKG_CHECK_MODULES(SMACK_DEPS REQUIRED libsmack)
41
42 FIND_PACKAGE(Boost REQUIRED COMPONENTS system filesystem program_options iostreams)
43
44 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
45 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs -pie" )
46 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
47 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
48 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
49 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Werror -ffunction-sections -fdata-sections -fmerge-all-constants -fPIE")
50 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fPIE")
51 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE")
52
53 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--gc-sections -pie")
54
55 ADD_SUBDIRECTORY(src)
56 ADD_SUBDIRECTORY(tests)
57
58 IF(NOT DEFINED MINIMUM_BUILD)
59 ENABLE_TESTING()
60 SET(PKGMGR_TOOL_UNIT_TESTS pkgmgr-tool_unittests)
61 ADD_TEST(NAME ${PKGMGR_TOOL_UNIT_TESTS} COMMAND ${PKGMGR_TOOL_UNIT_TESTS})
62 ENDIF(NOT DEFINED MINIMUM_BUILD)
63
64 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/mime.wac.xml DESTINATION /usr/share/mime/packages/)
65 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/mime.tpk.xml DESTINATION /usr/share/mime/packages/)
66
67 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-unzip-pkg.sh.in pkgmgr-unzip-pkg.sh @ONLY)
68 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-unzip-pkg.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
69 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/data/pkgmgr-create-delta.sh.in pkgmgr-create-delta.sh @ONLY)
70 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-create-delta.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
71 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-label-initial-image.sh.in pkgmgr-label-initial-image.sh @ONLY)
72 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-label-initial-image.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
73 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/update.sh.in update.sh @ONLY)
74 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/update.sh DESTINATION /etc/package-manager/updates/)
75 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/700.pkgmgr.patch.sh.in 700.pkgmgr.patch.sh @ONLY)
76 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/700.pkgmgr.patch.sh DESTINATION /usr/share/upgrade/scripts/)
77 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30000.sh.in upgrade_to_30000.sh @ONLY)
78 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30000.sh DESTINATION /etc/package-manager/updates/)
79 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30001.sh.in upgrade_to_30001.sh @ONLY)
80 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30001.sh DESTINATION /etc/package-manager/updates/)
81 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30002.sh.in upgrade_to_30002.sh @ONLY)
82 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30002.sh DESTINATION /etc/package-manager/updates/)
83 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30003.sh.in upgrade_to_30003.sh @ONLY)
84 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30003.sh DESTINATION /etc/package-manager/updates/)
85 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30004.sh.in upgrade_to_30004.sh @ONLY)
86 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30004.sh DESTINATION /etc/package-manager/updates/)
87 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30005.sh.in upgrade_to_30005.sh @ONLY)
88 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30005.sh DESTINATION /etc/package-manager/updates/)
89 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30006.sh.in upgrade_to_30006.sh @ONLY)
90 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30006.sh DESTINATION /etc/package-manager/updates/)
91 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30007.sh.in upgrade_to_30007.sh @ONLY)
92 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30007.sh DESTINATION /etc/package-manager/updates/)
93 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30008.sh.in upgrade_to_30008.sh @ONLY)
94 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30008.sh DESTINATION /etc/package-manager/updates/)
95 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30009.sh.in upgrade_to_30009.sh @ONLY)
96 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30009.sh DESTINATION /etc/package-manager/updates/)