1# Copyright (c) 2023 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("//build/ohos.gni")
15import("../../windowmanager_aafwk.gni")
16
17ohos_shared_library("libintention_event") {
18  branch_protector_ret = "pac_ret"
19  sanitize = {
20    cfi = true
21    cfi_cross_dso = true
22    cfi_vcall_icall_only = true
23    debug = false
24  }
25  include_dirs = [
26    "./include",
27    "${window_base_path}/wm/include",
28    "${window_base_path}/window_scene/session/host/include",
29  ]
30
31  sources = [ "src/intention_event_manager.cpp" ]
32
33  deps = [
34    "${window_base_path}/utils:libwmutil",
35    "${window_base_path}/utils:libwmutil_base",
36    "../common:window_scene_common",
37    "../session:scene_session",
38    "../session_manager:scene_session_manager",
39  ]
40
41  external_deps = [
42    "ability_runtime:app_manager",
43    "accessibility:accessibility_common",
44    "ace_engine:ace_uicontent",
45    "c_utils:utils",
46    "eventhandler:libeventhandler",
47    "ffrt:libffrt",
48    "graphic_2d:libcomposer",
49    "graphic_2d:librender_service_client",
50    "graphic_2d:window_animation",
51    "hicollie:libhicollie",
52    "hilog:libhilog",
53    "hisysevent:libhisysevent",
54    "hitrace:hitrace_meter",
55    "init:libbegetutil",
56    "input:libmmi-client",
57  ]
58
59  defines = []
60
61  if (defined(global_parts_info) &&
62      defined(global_parts_info.barrierfree_accessibility)) {
63    external_deps += [ "accessibility:accessibility_common" ]
64  }
65
66  if (!defined(global_parts_info) ||
67      defined(global_parts_info.inputmethod_imf)) {
68    imf_enable = true
69  } else {
70    imf_enable = false
71  }
72  print("imf_enable: ", imf_enable)
73
74  if (imf_enable == true) {
75    external_deps += [ "imf:inputmethod_client" ]
76    defines += [ "IMF_ENABLE" ]
77  }
78
79  part_name = "window_manager"
80  subsystem_name = "window"
81
82  if (build_variant == "user") {
83    defines += [ "IS_RELEASE_VERSION" ]
84  }
85}
86