153c3577eSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
253c3577eSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
353c3577eSopenharmony_ci# you may not use this file except in compliance with the License.
453c3577eSopenharmony_ci# You may obtain a copy of the License at
553c3577eSopenharmony_ci#
653c3577eSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
753c3577eSopenharmony_ci#
853c3577eSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
953c3577eSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1053c3577eSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1153c3577eSopenharmony_ci# See the License for the specific language governing permissions and
1253c3577eSopenharmony_ci# limitations under the License.
1353c3577eSopenharmony_ciimport("//build/ohos.gni")
1453c3577eSopenharmony_ciimport("//build/ohos_var.gni")
1553c3577eSopenharmony_ciimport("//foundation/distributeddatamgr/datamgr_service/datamgr_service.gni")
1653c3577eSopenharmony_ci
1753c3577eSopenharmony_cigroup("build_module") {
1853c3577eSopenharmony_ci  deps = [ ":opencloudextension" ]
1953c3577eSopenharmony_ci}
2053c3577eSopenharmony_ciconfig("module_public_config") {
2153c3577eSopenharmony_ci  visibility = [ ":*" ]
2253c3577eSopenharmony_ci  include_dirs = [
2353c3577eSopenharmony_ci    "../../framework/include",
2453c3577eSopenharmony_ci    "${kv_store_common_path}",
2553c3577eSopenharmony_ci  ]
2653c3577eSopenharmony_ci}
2753c3577eSopenharmony_ci
2853c3577eSopenharmony_ciohos_shared_library("opencloudextension") {
2953c3577eSopenharmony_ci  include_dirs = [ "../ylong_cloud_extension/include" ]
3053c3577eSopenharmony_ci  sources = [
3153c3577eSopenharmony_ci    "asset_loader_impl.cpp",
3253c3577eSopenharmony_ci    "cloud_cursor_impl.cpp",
3353c3577eSopenharmony_ci    "cloud_db_impl.cpp",
3453c3577eSopenharmony_ci    "cloud_server_impl.cpp",
3553c3577eSopenharmony_ci    "extension_util.cpp",
3653c3577eSopenharmony_ci  ]
3753c3577eSopenharmony_ci  branch_protector_ret = "pac_ret"
3853c3577eSopenharmony_ci  sanitize = {
3953c3577eSopenharmony_ci    ubsan = true
4053c3577eSopenharmony_ci    boundary_sanitize = true
4153c3577eSopenharmony_ci    cfi = true
4253c3577eSopenharmony_ci    cfi_cross_dso = true
4353c3577eSopenharmony_ci    debug = false
4453c3577eSopenharmony_ci  }
4553c3577eSopenharmony_ci  cflags = [ "-Wno-multichar" ]
4653c3577eSopenharmony_ci
4753c3577eSopenharmony_ci  cflags_cc = [ "-fvisibility=hidden" ]
4853c3577eSopenharmony_ci
4953c3577eSopenharmony_ci  configs = [ ":module_public_config" ]
5053c3577eSopenharmony_ci
5153c3577eSopenharmony_ci  deps = [
5253c3577eSopenharmony_ci    "../../framework:distributeddatasvcfwk",
5353c3577eSopenharmony_ci    "../ylong_cloud_extension:ylong_cloud_extension",
5453c3577eSopenharmony_ci  ]
5553c3577eSopenharmony_ci
5653c3577eSopenharmony_ci  external_deps = [
5753c3577eSopenharmony_ci    "access_token:libaccesstoken_sdk",
5853c3577eSopenharmony_ci    "hilog:libhilog",
5953c3577eSopenharmony_ci    "json:nlohmann_json_static",
6053c3577eSopenharmony_ci    "kv_store:distributeddata_inner",
6153c3577eSopenharmony_ci  ]
6253c3577eSopenharmony_ci  subsystem_name = "distributeddatamgr"
6353c3577eSopenharmony_ci  part_name = "datamgr_service"
6453c3577eSopenharmony_ci}
65