140f5d65dSopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd. 240f5d65dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 340f5d65dSopenharmony_ci# you may not use this file except in compliance with the License. 440f5d65dSopenharmony_ci# You may obtain a copy of the License at 540f5d65dSopenharmony_ci# 640f5d65dSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 740f5d65dSopenharmony_ci# 840f5d65dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 940f5d65dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1040f5d65dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1140f5d65dSopenharmony_ci# See the License for the specific language governing permissions and 1240f5d65dSopenharmony_ci# limitations under the License. 1340f5d65dSopenharmony_ci 1440f5d65dSopenharmony_ciimport("//build/ohos.gni") 1540f5d65dSopenharmony_ciimport("//foundation/filemanagement/app_file_service/backup.gni") 1640f5d65dSopenharmony_ci 1740f5d65dSopenharmony_ciohos_executable("backup_tool") { 1840f5d65dSopenharmony_ci branch_protector_ret = "pac_ret" 1940f5d65dSopenharmony_ci sanitize = { 2040f5d65dSopenharmony_ci integer_overflow = true 2140f5d65dSopenharmony_ci cfi = true 2240f5d65dSopenharmony_ci cfi_cross_dso = true 2340f5d65dSopenharmony_ci debug = false 2440f5d65dSopenharmony_ci } 2540f5d65dSopenharmony_ci 2640f5d65dSopenharmony_ci include_dirs = [] 2740f5d65dSopenharmony_ci deps = [] 2840f5d65dSopenharmony_ci defines = [] 2940f5d65dSopenharmony_ci sources = [ "src/main.cpp" ] 3040f5d65dSopenharmony_ci 3140f5d65dSopenharmony_ci if (build_variant == "root") { 3240f5d65dSopenharmony_ci include_dirs += [ "include" ] 3340f5d65dSopenharmony_ci 3440f5d65dSopenharmony_ci defines += [ 3540f5d65dSopenharmony_ci "LOG_DOMAIN=0xD004304", 3640f5d65dSopenharmony_ci "LOG_TAG=\"BackupTool\"", 3740f5d65dSopenharmony_ci ] 3840f5d65dSopenharmony_ci 3940f5d65dSopenharmony_ci deps += [ 4040f5d65dSopenharmony_ci "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 4140f5d65dSopenharmony_ci "${path_backup}/utils/:backup_utils", 4240f5d65dSopenharmony_ci "${path_jsoncpp}:jsoncpp", 4340f5d65dSopenharmony_ci ] 4440f5d65dSopenharmony_ci 4540f5d65dSopenharmony_ci sources += [ 4640f5d65dSopenharmony_ci "src/tools_op.cpp", 4740f5d65dSopenharmony_ci "src/tools_op_backup.cpp", 4840f5d65dSopenharmony_ci "src/tools_op_check_sa.cpp", 4940f5d65dSopenharmony_ci "src/tools_op_help.cpp", 5040f5d65dSopenharmony_ci "src/tools_op_incremental_backup.cpp", 5140f5d65dSopenharmony_ci "src/tools_op_incremental_restore.cpp", 5240f5d65dSopenharmony_ci "src/tools_op_incremental_restore_async.cpp", 5340f5d65dSopenharmony_ci "src/tools_op_restore.cpp", 5440f5d65dSopenharmony_ci "src/tools_op_restore_async.cpp", 5540f5d65dSopenharmony_ci ] 5640f5d65dSopenharmony_ci 5740f5d65dSopenharmony_ci external_deps = [ 5840f5d65dSopenharmony_ci "c_utils:utils", 5940f5d65dSopenharmony_ci "hilog:libhilog", 6040f5d65dSopenharmony_ci "hitrace:hitrace_meter", 6140f5d65dSopenharmony_ci "ipc:ipc_core", 6240f5d65dSopenharmony_ci ] 6340f5d65dSopenharmony_ci 6440f5d65dSopenharmony_ci defines += [ "BACKUP_TOOL_ENABLE=1" ] 6540f5d65dSopenharmony_ci } 6640f5d65dSopenharmony_ci 6740f5d65dSopenharmony_ci use_exceptions = true 6840f5d65dSopenharmony_ci install_enable = false 6940f5d65dSopenharmony_ci part_name = "app_file_service" 7040f5d65dSopenharmony_ci subsystem_name = "filemanagement" 7140f5d65dSopenharmony_ci} 72