Fix upgrade script for cert db
[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(TIZEN_DATABASE_DEPS REQUIRED tizen-database)
37 PKG_CHECK_MODULES(TZPLATFORM_DEPS REQUIRED libtzplatform-config)
38 PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul)
39 PKG_CHECK_MODULES(STORAGE_DEPS REQUIRED storage)
40 PKG_CHECK_MODULES(SQLITE_DEPS REQUIRED sqlite3)
41 PKG_CHECK_MODULES(SMACK_DEPS REQUIRED libsmack)
42
43 FIND_PACKAGE(Boost REQUIRED COMPONENTS system filesystem program_options iostreams)
44
45 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
46 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs -pie" )
47 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
48 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
49 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
50 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -Wall -Werror -ffunction-sections -fdata-sections -fmerge-all-constants -fPIE")
51 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fPIE")
52 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE")
53
54 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--gc-sections -pie")
55
56 ADD_SUBDIRECTORY(src)
57 ADD_SUBDIRECTORY(tests)
58
59 IF(NOT DEFINED MINIMUM_BUILD)
60 ENABLE_TESTING()
61 SET(PKGMGR_TOOL_UNIT_TESTS pkgmgr-tool_unittests)
62 ADD_TEST(NAME ${PKGMGR_TOOL_UNIT_TESTS} COMMAND ${PKGMGR_TOOL_UNIT_TESTS})
63 ENDIF(NOT DEFINED MINIMUM_BUILD)
64
65 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/mime.wac.xml DESTINATION /usr/share/mime/packages/)
66 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/mime.tpk.xml DESTINATION /usr/share/mime/packages/)
67
68 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-unzip-pkg.sh.in pkgmgr-unzip-pkg.sh @ONLY)
69 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-unzip-pkg.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
70 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/data/pkgmgr-create-delta.sh.in pkgmgr-create-delta.sh @ONLY)
71 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-create-delta.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
72 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-label-initial-image.sh.in pkgmgr-label-initial-image.sh @ONLY)
73 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-label-initial-image.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/)
74 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/update.sh.in update.sh @ONLY)
75 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/update.sh DESTINATION /etc/package-manager/updates/)
76 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/700.pkgmgr.patch.sh.in 700.pkgmgr.patch.sh @ONLY)
77 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/700.pkgmgr.patch.sh DESTINATION /usr/share/upgrade/scripts/)
78 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30000.sh.in upgrade_to_30000.sh @ONLY)
79 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30000.sh DESTINATION /etc/package-manager/updates/)
80 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30001.sh.in upgrade_to_30001.sh @ONLY)
81 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30001.sh DESTINATION /etc/package-manager/updates/)
82 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30002.sh.in upgrade_to_30002.sh @ONLY)
83 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30002.sh DESTINATION /etc/package-manager/updates/)
84 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30003.sh.in upgrade_to_30003.sh @ONLY)
85 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30003.sh DESTINATION /etc/package-manager/updates/)
86 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30004.sh.in upgrade_to_30004.sh @ONLY)
87 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30004.sh DESTINATION /etc/package-manager/updates/)
88 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30005.sh.in upgrade_to_30005.sh @ONLY)
89 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30005.sh DESTINATION /etc/package-manager/updates/)
90 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30006.sh.in upgrade_to_30006.sh @ONLY)
91 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30006.sh DESTINATION /etc/package-manager/updates/)
92 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30007.sh.in upgrade_to_30007.sh @ONLY)
93 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30007.sh DESTINATION /etc/package-manager/updates/)
94 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30008.sh.in upgrade_to_30008.sh @ONLY)
95 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30008.sh DESTINATION /etc/package-manager/updates/)
96 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30009.sh.in upgrade_to_30009.sh @ONLY)
97 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30009.sh DESTINATION /etc/package-manager/updates/)
98 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/updates/upgrade_to_30010.sh.in upgrade_to_30010.sh @ONLY)
99 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/upgrade_to_30010.sh DESTINATION /etc/package-manager/updates/)