1f7a47986Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
2f7a47986Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3f7a47986Sopenharmony_ci# you may not use this file except in compliance with the License.
4f7a47986Sopenharmony_ci# You may obtain a copy of the License at
5f7a47986Sopenharmony_ci#
6f7a47986Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7f7a47986Sopenharmony_ci#
8f7a47986Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9f7a47986Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10f7a47986Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11f7a47986Sopenharmony_ci# See the License for the specific language governing permissions and
12f7a47986Sopenharmony_ci# limitations under the License.
13f7a47986Sopenharmony_ci
14f7a47986Sopenharmony_ciimport("//build/ohos.gni")
15f7a47986Sopenharmony_ciimport("../config/common.gni")
16f7a47986Sopenharmony_ci
17f7a47986Sopenharmony_ciconfig("edm_external_adapters_public_configs") {
18f7a47986Sopenharmony_ci  include_dirs = [ "include" ]
19f7a47986Sopenharmony_ci}
20f7a47986Sopenharmony_ci
21f7a47986Sopenharmony_ciohos_shared_library("edm_external_adapters") {
22f7a47986Sopenharmony_ci  sources = [
23f7a47986Sopenharmony_ci    "./src/edm_access_token_manager_impl.cpp",
24f7a47986Sopenharmony_ci    "./src/edm_app_manager_impl.cpp",
25f7a47986Sopenharmony_ci    "./src/edm_bundle_manager_impl.cpp",
26f7a47986Sopenharmony_ci    "./src/edm_os_account_manager_impl.cpp",
27f7a47986Sopenharmony_ci    "./src/external_manager_factory.cpp",
28f7a47986Sopenharmony_ci  ]
29f7a47986Sopenharmony_ci
30f7a47986Sopenharmony_ci  configs = [
31f7a47986Sopenharmony_ci    ":edm_external_adapters_public_configs",
32f7a47986Sopenharmony_ci    "../../common/config:coverage_flags",
33f7a47986Sopenharmony_ci  ]
34f7a47986Sopenharmony_ci
35f7a47986Sopenharmony_ci  public_configs = [ ":edm_external_adapters_public_configs" ]
36f7a47986Sopenharmony_ci
37f7a47986Sopenharmony_ci  deps = [ "../native:edm_commom" ]
38f7a47986Sopenharmony_ci
39f7a47986Sopenharmony_ci  external_deps = [
40f7a47986Sopenharmony_ci    "ability_runtime:app_manager",
41f7a47986Sopenharmony_ci    "access_token:libaccesstoken_sdk",
42f7a47986Sopenharmony_ci    "access_token:libtokenid_sdk",
43f7a47986Sopenharmony_ci    "bundle_framework:appexecfwk_core",
44f7a47986Sopenharmony_ci    "c_utils:utils",
45f7a47986Sopenharmony_ci    "hilog:libhilog",
46f7a47986Sopenharmony_ci    "init:libbegetutil",
47f7a47986Sopenharmony_ci    "ipc:ipc_core",
48f7a47986Sopenharmony_ci  ]
49f7a47986Sopenharmony_ci
50f7a47986Sopenharmony_ci  defines = []
51f7a47986Sopenharmony_ci  if (os_account_edm_enable) {
52f7a47986Sopenharmony_ci    external_deps += [
53f7a47986Sopenharmony_ci      "os_account:libaccountkits",
54f7a47986Sopenharmony_ci      "os_account:os_account_innerkits",
55f7a47986Sopenharmony_ci    ]
56f7a47986Sopenharmony_ci    defines += [ "OS_ACCOUNT_EDM_ENABLE" ]
57f7a47986Sopenharmony_ci  }
58f7a47986Sopenharmony_ci
59f7a47986Sopenharmony_ci  sanitize = {
60f7a47986Sopenharmony_ci    boundary_sanitize = true
61f7a47986Sopenharmony_ci    cfi = true
62f7a47986Sopenharmony_ci    cfi_cross_dso = true
63f7a47986Sopenharmony_ci    debug = false
64f7a47986Sopenharmony_ci    integer_overflow = true
65f7a47986Sopenharmony_ci    ubsan = true
66f7a47986Sopenharmony_ci  }
67f7a47986Sopenharmony_ci  branch_protector_ret = "pac_ret"
68f7a47986Sopenharmony_ci  subsystem_name = "customization"
69f7a47986Sopenharmony_ci  part_name = "enterprise_device_management"
70f7a47986Sopenharmony_ci}
71