• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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("//foundation/arkui/ace_engine/ace_config.gni")
16
17# build static
18template("ace_ohos_standard_source_set") {
19  forward_variables_from(invoker, "*")
20
21  ohos_source_set(target_name) {
22    subsystem_name = ace_engine_subsystem
23    part_name = ace_engine_part
24    defines += invoker.defines
25    cflags_cc += invoker.cflags_cc
26
27    sources = [
28      "$ace_root/adapter/ohos/entrance/ace_ability.cpp",
29      "$ace_root/adapter/ohos/entrance/ace_application_info.cpp",
30      "$ace_root/adapter/ohos/entrance/ace_container.cpp",
31      "$ace_root/adapter/ohos/entrance/ace_data_ability.cpp",
32      "$ace_root/adapter/ohos/entrance/ace_form_ability.cpp",
33      "$ace_root/adapter/ohos/entrance/ace_new_pipe_judgement.cpp",
34      "$ace_root/adapter/ohos/entrance/ace_service_ability.cpp",
35      "$ace_root/adapter/ohos/entrance/ace_view_ohos.cpp",
36      "$ace_root/adapter/ohos/entrance/capability_registry.cpp",
37      "$ace_root/adapter/ohos/entrance/data_ability_helper_standard.cpp",
38      "$ace_root/adapter/ohos/entrance/dialog_container.cpp",
39      "$ace_root/adapter/ohos/entrance/file_asset_provider_impl.cpp",
40      "$ace_root/adapter/ohos/entrance/form_utils_impl.cpp",
41      "$ace_root/adapter/ohos/entrance/hap_asset_provider_impl.cpp",
42      "$ace_root/adapter/ohos/entrance/mmi_event_convertor.cpp",
43      "$ace_root/adapter/ohos/entrance/navigation_controller_helper.cpp",
44      "$ace_root/adapter/ohos/entrance/pa_container.cpp",
45      "$ace_root/adapter/ohos/entrance/plugin_utils_impl.cpp",
46      "$ace_root/adapter/ohos/entrance/subwindow/subwindow_ohos.cpp",
47      "$ace_root/adapter/ohos/entrance/window/foldable_window_ohos.cpp",
48
49      # innerkits impl
50      "$ace_root/adapter/ohos/entrance/ui_content_impl.cpp",
51      "$ace_root/adapter/ohos/entrance/ui_event_impl.cpp",
52      "$ace_root/adapter/ohos/entrance/utils.cpp",
53
54      # drag window
55      "$ace_root/adapter/ohos/entrance/window/drag_window_ohos.cpp",
56
57      # ArkTs Card
58      "$ace_root/adapter/ohos/entrance/form_module_preloader.cpp",
59
60      # Dynamic Component
61      "$ace_root/adapter/ohos/entrance/dynamic_component/dynamic_component_renderer_impl.cpp",
62      "$ace_root/adapter/ohos/entrance/dynamic_component/uv_task_wrapper_impl.cpp",
63    ]
64
65    if (target_cpu == "arm64") {
66      defines += [ "_ARM64_" ]
67    }
68    if (current_os == "ohos" && current_cpu == "x86_64") {
69      defines += [ "SIMULATOR_64" ]
70    }
71
72    configs = [
73      "$ace_root:ace_config",
74      "//third_party/icu/icu4c:icu_config",
75    ]
76
77    if (defined(config.enable_rosen_backend) && config.enable_rosen_backend) {
78      configs += [
79        "//foundation/graphic/graphic_2d/rosen/modules/render_service_base:export_config",
80        "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:render_service_client_config",
81      ]
82    }
83
84    include_dirs = [
85      "$ability_runtime_inner_api_path/runtime/include/",
86      "$ability_runtime_napi_path/featureAbility",
87      "//commonlibrary/c_utils/base/include",
88      "//foundation/arkui/napi/interfaces/kits",
89      "//foundation/arkui/napi/native_engine",
90      "//foundation/window/window_manager/interfaces/innerkits",
91      "//foundation/graphic/graphic_2d/rosen/modules/2d_engine",
92      "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics/src/drawing/engine_adapter",
93      "//third_party/node/src",
94    ]
95
96    deps = [ "$skia_root_new:skia_$platform" ]
97
98    deps += [
99      "$ace_root/adapter/ohos/capability:ace_capability_ohos",
100      "$ace_root/interfaces/inner_api/ace:ace_uicontent",
101      "//third_party/zlib:shared_libz",
102    ]
103
104    external_deps = [
105      "ability_base:base",
106      "ability_base:configuration",
107      "ability_base:extractortool",
108      "ability_base:view_data",
109      "ability_base:want",
110      "ability_runtime:ability_context_native",
111      "ability_runtime:ability_manager",
112      "ability_runtime:abilitykit_native",
113      "ability_runtime:auto_fill_manager",
114      "ability_runtime:data_ability_helper",
115      "bundle_framework:appexecfwk_core",
116      "common_event_service:cesfwk_innerkits",
117      "data_share:datashare_consumer",
118      "ets_runtime:libark_jsruntime",
119      "eventhandler:libeventhandler",
120      "form_fwk:fmskit_native",
121      "form_fwk:form_manager",
122      "graphic_2d:2d_graphics",
123      "graphic_2d:librender_service_client",
124      "i18n:intl_util",
125      "input:libmmi-client",
126      "ipc:ipc_core",
127      "ipc:ipc_napi",
128      "napi:ace_napi",
129      "preferences:native_preferences",
130      "relational_store:native_dataability",
131      "relational_store:native_rdb",
132      "resource_management:global_resmgr",
133      "window_manager:libdm",
134      "window_manager:libwm",
135      "window_manager:libwsutils",
136      "window_manager:scene_session",
137      "window_manager:screen_session_manager_client",
138    ]
139
140    if (defined(config.media_library_exists) && config.media_library_exists) {
141      include_dirs += [ "//foundation/multimedia/media_library/interfaces/inner_api/media_library_helper/include" ]
142      external_deps += [ "media_library:media_library_manager" ]
143    }
144
145    if (enable_graphic_text_gine) {
146      external_deps += [ "graphic_2d:rosen_text" ]
147    }
148  }
149}
150
151foreach(item, ace_platforms) {
152  platform = item.name
153  if (platform == "ohos" || platform == "ohos_ng") {
154    ace_ohos_standard_source_set("ace_ohos_standard_entrance_${platform}") {
155      platform = item.name
156      defines = []
157      cflags_cc = []
158      config = {
159      }
160
161      if (defined(item.config)) {
162        config = item.config
163      }
164
165      if (defined(config.defines)) {
166        defines = config.defines
167      }
168
169      if (defined(config.cflags_cc)) {
170        cflags_cc = config.cflags_cc
171      }
172    }
173  }
174}
175