1bc03f14fSopenharmony_ci# Copyright (C) 2023 Huawei Device Co., Ltd.
2bc03f14fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3bc03f14fSopenharmony_ci# you may not use this file except in compliance with the License.
4bc03f14fSopenharmony_ci# You may obtain a copy of the License at
5bc03f14fSopenharmony_ci#
6bc03f14fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7bc03f14fSopenharmony_ci#
8bc03f14fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9bc03f14fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10bc03f14fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11bc03f14fSopenharmony_ci# See the License for the specific language governing permissions and
12bc03f14fSopenharmony_ci# limitations under the License.
13bc03f14fSopenharmony_ci
14bc03f14fSopenharmony_ciimport("//build/ohos.gni")
15bc03f14fSopenharmony_ciimport("//foundation/distributeddatamgr/pasteboard/pasteboard.gni")
16bc03f14fSopenharmony_ci
17bc03f14fSopenharmony_ciohos_shared_library("pasteboard_napi") {
18bc03f14fSopenharmony_ci  branch_protector_ret = "pac_ret"
19bc03f14fSopenharmony_ci  include_dirs = [
20bc03f14fSopenharmony_ci    "${pasteboard_innerkits_path}/include",
21bc03f14fSopenharmony_ci    "//foundation/distributeddatamgr/pasteboard/framework/tlv",
22bc03f14fSopenharmony_ci    "//foundation/distributeddatamgr/pasteboard/framework/uri",
23bc03f14fSopenharmony_ci    "napi/include",
24bc03f14fSopenharmony_ci    "${pasteboard_utils_path}/native/include",
25bc03f14fSopenharmony_ci  ]
26bc03f14fSopenharmony_ci
27bc03f14fSopenharmony_ci  cflags = [
28bc03f14fSopenharmony_ci    "-fPIC",
29bc03f14fSopenharmony_ci    "-g3",
30bc03f14fSopenharmony_ci  ]
31bc03f14fSopenharmony_ci
32bc03f14fSopenharmony_ci  cflags_cc = [
33bc03f14fSopenharmony_ci    "-fstack-protector",
34bc03f14fSopenharmony_ci    "-D_FORTIFY_SOURCE=2",
35bc03f14fSopenharmony_ci    "-O2",
36bc03f14fSopenharmony_ci  ]
37bc03f14fSopenharmony_ci
38bc03f14fSopenharmony_ci  sources = [
39bc03f14fSopenharmony_ci    "napi/src/async_call.cpp",
40bc03f14fSopenharmony_ci    "napi/src/napi_data_utils.cpp",
41bc03f14fSopenharmony_ci    "napi/src/napi_init.cpp",
42bc03f14fSopenharmony_ci    "napi/src/napi_pasteboard.cpp",
43bc03f14fSopenharmony_ci    "napi/src/napi_pastedata.cpp",
44bc03f14fSopenharmony_ci    "napi/src/napi_pastedata_record.cpp",
45bc03f14fSopenharmony_ci    "napi/src/napi_systempasteboard.cpp",
46bc03f14fSopenharmony_ci    "napi/src/pasteboard_common.cpp",
47bc03f14fSopenharmony_ci  ]
48bc03f14fSopenharmony_ci
49bc03f14fSopenharmony_ci  deps = [ "${pasteboard_root_path}/framework/innerkits:pasteboard_client" ]
50bc03f14fSopenharmony_ci
51bc03f14fSopenharmony_ci  external_deps = [
52bc03f14fSopenharmony_ci    "ability_base:want",
53bc03f14fSopenharmony_ci    "ability_base:zuri",
54bc03f14fSopenharmony_ci    "ability_runtime:napi_common",
55bc03f14fSopenharmony_ci    "c_utils:utils",
56bc03f14fSopenharmony_ci    "hilog:libhilog",
57bc03f14fSopenharmony_ci    "image_framework:image",
58bc03f14fSopenharmony_ci    "ipc:ipc_core",
59bc03f14fSopenharmony_ci    "libuv:uv",
60bc03f14fSopenharmony_ci    "napi:ace_napi",
61bc03f14fSopenharmony_ci  ]
62bc03f14fSopenharmony_ci
63bc03f14fSopenharmony_ci  public_external_deps = [
64bc03f14fSopenharmony_ci    "udmf:udmf_client",
65bc03f14fSopenharmony_ci    "udmf:udmf_data_napi",
66bc03f14fSopenharmony_ci  ]
67bc03f14fSopenharmony_ci
68bc03f14fSopenharmony_ci  relative_install_dir = "module"
69bc03f14fSopenharmony_ci
70bc03f14fSopenharmony_ci  subsystem_name = "distributeddatamgr"
71bc03f14fSopenharmony_ci  part_name = "pasteboard"
72bc03f14fSopenharmony_ci}
73