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