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