1# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("../../../multimodalinput_mini.gni")
15
16config("inputmonitor_config") {
17  visibility = [ ":*" ]
18
19  include_dirs = [
20    "${mmi_path}/frameworks/napi/input_monitor/include",
21    "${mmi_path}/frameworks/napi/gesture_event/include",
22    "${mmi_path}/frameworks/napi/touch_event/include",
23    "${mmi_path}/frameworks/napi/joystick_event/include",
24    "${mmi_path}/interfaces/native/innerkits/proxy/include",
25    "${mmi_path}/util/common/include",
26    "${mmi_path}/util/napi/include",
27  ]
28
29  defines = input_default_defines
30}
31
32ohos_shared_library("inputmonitor") {
33  sources = inputmonitor_sources
34  sources += [
35    "${mmi_path}/util/napi/src/key_event_napi.cpp",
36    "${mmi_path}/util/napi/src/util_napi.cpp",
37    "${mmi_path}/util/napi/src/util_napi_error.cpp",
38    "${mmi_path}/util/napi/src/util_napi_value.cpp",
39  ]
40  branch_protector_ret = "pac_ret"
41  sanitize = {
42    integer_overflow = true
43    ubsan = true
44    boundary_sanitize = true
45    cfi = true
46    cfi_cross_dso = true
47    debug = false
48  }
49
50  configs = [
51    "${mmi_path}:coverage_flags",
52    ":inputmonitor_config",
53  ]
54
55  deps = [
56    "${mmi_path}/frameworks/proxy:libmmi-client",
57    "${mmi_path}/util:libmmi-util",
58  ]
59
60  external_deps = [
61    "c_utils:utils",
62    "eventhandler:libeventhandler",
63    "hilog:libhilog",
64    "ipc:ipc_core",
65    "napi:ace_napi",
66  ]
67
68  relative_install_dir = "module/multimodalinput"
69
70  part_name = "input"
71  subsystem_name = "multimodalinput"
72}
73