1f857971dSopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2f857971dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3f857971dSopenharmony_ci# you may not use this file except in compliance with the License.
4f857971dSopenharmony_ci# You may obtain a copy of the License at
5f857971dSopenharmony_ci#
6f857971dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7f857971dSopenharmony_ci#
8f857971dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9f857971dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10f857971dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11f857971dSopenharmony_ci# See the License for the specific language governing permissions and
12f857971dSopenharmony_ci# limitations under the License.
13f857971dSopenharmony_ci
14f857971dSopenharmony_ciimport("../../device_status.gni")
15f857971dSopenharmony_ci
16f857971dSopenharmony_ciconfig("devicestatus_util_private_config") {
17f857971dSopenharmony_ci  include_dirs = [
18f857971dSopenharmony_ci    ".",
19f857971dSopenharmony_ci    "include",
20f857971dSopenharmony_ci  ]
21f857971dSopenharmony_ci}
22f857971dSopenharmony_ci
23f857971dSopenharmony_ciconfig("devicestatus_util_public_config") {
24f857971dSopenharmony_ci  include_dirs = [
25f857971dSopenharmony_ci    ".",
26f857971dSopenharmony_ci    "include",
27f857971dSopenharmony_ci    "${device_status_interfaces_path}/innerkits/interaction/include",
28f857971dSopenharmony_ci  ]
29f857971dSopenharmony_ci}
30f857971dSopenharmony_ci
31f857971dSopenharmony_ciohos_shared_library("devicestatus_util") {
32f857971dSopenharmony_ci  sanitize = {
33f857971dSopenharmony_ci    integer_overflow = true
34f857971dSopenharmony_ci    ubsan = true
35f857971dSopenharmony_ci    boundary_sanitize = true
36f857971dSopenharmony_ci    cfi = true
37f857971dSopenharmony_ci    cfi_cross_dso = true
38f857971dSopenharmony_ci    debug = false
39f857971dSopenharmony_ci  }
40f857971dSopenharmony_ci
41f857971dSopenharmony_ci  branch_protector_ret = "pac_ret"
42f857971dSopenharmony_ci
43f857971dSopenharmony_ci  version_script = "libdevicestatus_util_map"
44f857971dSopenharmony_ci  sources = [
45f857971dSopenharmony_ci    "src/animation_curve.cpp",
46f857971dSopenharmony_ci    "src/drag_data_packer.cpp",
47f857971dSopenharmony_ci    "src/preview_style_packer.cpp",
48f857971dSopenharmony_ci    "src/util.cpp",
49f857971dSopenharmony_ci    "src/util_napi.cpp",
50f857971dSopenharmony_ci    "src/util_napi_error.cpp",
51f857971dSopenharmony_ci    "src/utility.cpp",
52f857971dSopenharmony_ci  ]
53f857971dSopenharmony_ci
54f857971dSopenharmony_ci  configs = [ ":devicestatus_util_private_config" ]
55f857971dSopenharmony_ci
56f857971dSopenharmony_ci  public_configs = [ ":devicestatus_util_public_config" ]
57f857971dSopenharmony_ci
58f857971dSopenharmony_ci  external_deps = [
59f857971dSopenharmony_ci    "cJSON:cjson",
60f857971dSopenharmony_ci    "c_utils:utils",
61f857971dSopenharmony_ci    "graphic_2d:librender_service_client",
62f857971dSopenharmony_ci    "hilog:libhilog",
63f857971dSopenharmony_ci    "image_framework:image_native",
64f857971dSopenharmony_ci    "init:libbegetutil",
65f857971dSopenharmony_ci    "napi:ace_napi",
66f857971dSopenharmony_ci  ]
67f857971dSopenharmony_ci
68f857971dSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
69f857971dSopenharmony_ci  subsystem_name = "${device_status_subsystem_name}"
70f857971dSopenharmony_ci  part_name = "${device_status_part_name}"
71f857971dSopenharmony_ci}
72f857971dSopenharmony_ci
73f857971dSopenharmony_ciconfig("devicestatus_utils_config") {
74f857971dSopenharmony_ci  include_dirs = [
75f857971dSopenharmony_ci    ".",
76f857971dSopenharmony_ci    "include",
77f857971dSopenharmony_ci  ]
78f857971dSopenharmony_ci}
79