• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 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("//build/ohos.gni")
15
16config("previewer_window_config") {
17  visibility = [ ":*" ]
18
19  include_dirs = [
20    "//foundation/window/window_manager/interfaces/innerkits/wm",
21    "//foundation/window/window_manager/previewer/include",
22  ]
23}
24
25ohos_shared_library("previewer_window") {
26  configs = [ ":previewer_window_config" ]
27
28  libs = []
29
30  sources = [
31    "../../../../commonlibrary/c_utils/base/src/refbase.cpp",
32    "../utils/src/window_property.cpp",
33    "../utils/src/window_transition_info.cpp",
34    "../utils/src/wm_math.cpp",
35    "../wm/src/input_transfer_station.cpp",
36    "../wm/src/vsync_station.cpp",
37    "../wm/src/window.cpp",
38    "../wm/src/window_frame_trace_impl.cpp",
39    "../wm/src/window_input_channel.cpp",
40    "../wm/src/window_option.cpp",
41    "mock/parcel.cpp",
42    "src/window_impl.cpp",
43    "src/window_scene.cpp",
44  ]
45
46  include_dirs = [
47    "include",
48    "mock",
49    "../interfaces/innerkits/wm",
50    "../interfaces/innerkits/dm",
51    "../wm/include",
52    "../utils/include",
53    "../../../../commonlibrary/c_utils/base/include",
54  ]
55
56  deps = [
57    "//foundation/arkui/napi:ace_napi",
58    "//foundation/arkui/napi:ace_napi_ark",
59  ]
60
61  cflags = [ "-std=c++11" ]
62  part_name = "window_manager"
63  subsystem_name = "window"
64}
65
66config("previewer_window_napi_config") {
67  visibility = [ ":*" ]
68
69  include_dirs = [ "//foundation/window/window_manager/interfaces/kits/napi/window_runtime/window_napi" ]
70}
71
72ohos_shared_library("previewer_window_napi") {
73  public_configs = [ ":previewer_window_napi_config" ]
74
75  libs = []
76
77  sources = [
78    "../../../ability/ability_runtime/frameworks/native/runtime/js_runtime_utils.cpp",
79    "../interfaces/kits/napi/window_runtime/window_napi/js_window.cpp",
80    "../interfaces/kits/napi/window_runtime/window_napi/js_window_utils.cpp",
81    "../interfaces/kits/napi/window_runtime/window_stage_napi/js_window_stage.cpp",
82
83    # mock
84    "mock/js_transition_controller.cpp",
85    "mock/js_window_register_manager.cpp",
86    "mock/permission.cpp",
87    "mock/pixel_map_napi.cpp",
88    "mock/ui/rs_node.cpp",
89  ]
90
91  include_dirs = [
92    ".",  # 避免冲突的mock目录
93    "include",
94    "mock",
95    "mock/ui",
96    "mock/transaction",
97    "../wm/include",
98    "../utils/include",
99    "../interfaces/innerkits/wm",
100    "../interfaces/innerkits/dm",
101    "../interfaces/kits/napi/window_runtime/window_stage_napi",
102    "../../../ability/ability_runtime/interfaces/inner_api/runtime/include",
103    "../../../../commonlibrary/c_utils/base/include",
104  ]
105
106  deps = [
107    ":previewer_window",
108    "//foundation/arkui/napi:ace_napi",
109    "//foundation/arkui/napi:ace_napi_ark",
110  ]
111
112  cflags_cc = [ "-DWINDOW_PREVIEW" ]
113  cflags = [ "-std=c++11" ]
114  part_name = "window_manager"
115  subsystem_name = "window"
116}
117
118ohos_copy("copy_previewer_library") {
119  if (host_os == "mac") {
120    suffix = ".dylib"
121  } else {
122    suffix = ".dll"
123  }
124  shared_library_path =
125      get_label_info(":previewer_window_napi", "root_out_dir") +
126      "/window/window_manager/libpreviewer_window_napi" + suffix
127  deps = [ ":previewer_window_napi" ]
128  sources = [ shared_library_path ]
129  outputs =
130      [ target_out_dir + "/previewer/common/bin/libpreviewer_window" + suffix ]
131  module_source_dir = target_out_dir + "/previewer/common/bin/"
132  module_install_name = ""
133}
134