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("//build/ohos.gni")
15c29fa5a6Sopenharmony_ciimport("//build/test.gni")
16c29fa5a6Sopenharmony_ciimport("../../multimodalinput_mini.gni")
17c29fa5a6Sopenharmony_ciconfig("libmmi_virtual_device_config") {
18c29fa5a6Sopenharmony_ci  visibility = [ ":*" ]
19c29fa5a6Sopenharmony_ci  include_dirs = [ "include" ]
20c29fa5a6Sopenharmony_ci}
21c29fa5a6Sopenharmony_ci
22c29fa5a6Sopenharmony_ciconfig("virtual_device_public_config") {
23c29fa5a6Sopenharmony_ci  include_dirs = [ "include" ]
24c29fa5a6Sopenharmony_ci}
25c29fa5a6Sopenharmony_ci
26c29fa5a6Sopenharmony_ciohos_source_set("libmmi-virtual-device") {
27c29fa5a6Sopenharmony_ci  sources = libmmi_virtual_device_sources
28c29fa5a6Sopenharmony_ci  branch_protector_ret = "pac_ret"
29c29fa5a6Sopenharmony_ci  sanitize = {
30c29fa5a6Sopenharmony_ci    cfi = true
31c29fa5a6Sopenharmony_ci    cfi_cross_dso = true
32c29fa5a6Sopenharmony_ci    debug = false
33c29fa5a6Sopenharmony_ci  }
34c29fa5a6Sopenharmony_ci  configs = [ ":libmmi_virtual_device_config" ]
35c29fa5a6Sopenharmony_ci
36c29fa5a6Sopenharmony_ci  external_deps = [
37c29fa5a6Sopenharmony_ci    "c_utils:utils",
38c29fa5a6Sopenharmony_ci    "libinput:libinput-third-mmi",
39c29fa5a6Sopenharmony_ci  ]
40c29fa5a6Sopenharmony_ci
41c29fa5a6Sopenharmony_ci  public_configs = [ ":virtual_device_public_config" ]
42c29fa5a6Sopenharmony_ci
43c29fa5a6Sopenharmony_ci  part_name = "input"
44c29fa5a6Sopenharmony_ci  subsystem_name = "multimodalinput"
45c29fa5a6Sopenharmony_ci}
46c29fa5a6Sopenharmony_ci
47c29fa5a6Sopenharmony_ciohos_executable("vuinput") {
48c29fa5a6Sopenharmony_ci  sources = [ "src/mmi_virtual_device_main.cpp" ]
49c29fa5a6Sopenharmony_ci  branch_protector_ret = "pac_ret"
50c29fa5a6Sopenharmony_ci  sanitize = {
51c29fa5a6Sopenharmony_ci    cfi = true
52c29fa5a6Sopenharmony_ci    cfi_cross_dso = true
53c29fa5a6Sopenharmony_ci    debug = false
54c29fa5a6Sopenharmony_ci  }
55c29fa5a6Sopenharmony_ci  configs = [ ":virtual_device_public_config" ]
56c29fa5a6Sopenharmony_ci
57c29fa5a6Sopenharmony_ci  deps = [ "${mmi_path}/tools/vuinput:libmmi-virtual-device" ]
58c29fa5a6Sopenharmony_ci
59c29fa5a6Sopenharmony_ci  external_deps = [
60c29fa5a6Sopenharmony_ci    "c_utils:utils",
61c29fa5a6Sopenharmony_ci    "libinput:libinput-third-mmi",
62c29fa5a6Sopenharmony_ci  ]
63c29fa5a6Sopenharmony_ci  install_enable = true
64c29fa5a6Sopenharmony_ci  part_name = "input"
65c29fa5a6Sopenharmony_ci  subsystem_name = "multimodalinput"
66c29fa5a6Sopenharmony_ci}
67c29fa5a6Sopenharmony_ci
68c29fa5a6Sopenharmony_cimodule_output_path = "multimodalinput/mmi_unit_out"
69c29fa5a6Sopenharmony_ciohos_unittest("ut-virtual-device-out") {
70c29fa5a6Sopenharmony_ci  module_out_path = module_output_path
71c29fa5a6Sopenharmony_ci  include_dirs = [
72c29fa5a6Sopenharmony_ci    "${mmi_path}/tools/vuinput/include",
73c29fa5a6Sopenharmony_ci    "${mmi_path}/util/common",
74c29fa5a6Sopenharmony_ci    "${mmi_path}/util/common/include",
75c29fa5a6Sopenharmony_ci    "${mmi_path}/util/network",
76c29fa5a6Sopenharmony_ci    "${mmi_path}/util/network/include",
77c29fa5a6Sopenharmony_ci    "${mmi_path}/util/socket",
78c29fa5a6Sopenharmony_ci    "${mmi_path}/util/socket/include",
79c29fa5a6Sopenharmony_ci    "$root_out_dir/diff_libinput_mmi/export_include",
80c29fa5a6Sopenharmony_ci  ]
81c29fa5a6Sopenharmony_ci
82c29fa5a6Sopenharmony_ci  sources = [ "test/virtual_device_test.cpp" ]
83c29fa5a6Sopenharmony_ci
84c29fa5a6Sopenharmony_ci  configs = [
85c29fa5a6Sopenharmony_ci    "${mmi_path}:coverage_flags",
86c29fa5a6Sopenharmony_ci    ":virtual_device_public_config",
87c29fa5a6Sopenharmony_ci  ]
88c29fa5a6Sopenharmony_ci
89c29fa5a6Sopenharmony_ci  deps = [
90c29fa5a6Sopenharmony_ci    "${mmi_path}/tools/vuinput:libmmi-virtual-device",
91c29fa5a6Sopenharmony_ci    "${mmi_path}/util:libmmi-util",
92c29fa5a6Sopenharmony_ci  ]
93c29fa5a6Sopenharmony_ci
94c29fa5a6Sopenharmony_ci  external_deps = [
95c29fa5a6Sopenharmony_ci    "c_utils:utils",
96c29fa5a6Sopenharmony_ci    "googletest:gmock_main",
97c29fa5a6Sopenharmony_ci    "googletest:gtest_main",
98c29fa5a6Sopenharmony_ci    "hilog:libhilog",
99c29fa5a6Sopenharmony_ci    "libinput:libinput-third-mmi",
100c29fa5a6Sopenharmony_ci  ]
101c29fa5a6Sopenharmony_ci}
102