• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024-2025 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")
16import("advanced_ui_component.gni")
17
18config("ace_napi_config") {
19  include_dirs = [
20    "$ace_root",
21    "$arkui_root",
22    "$ace_root/frameworks",
23    "$root_out_dir/arkui",
24    "$root_out_dir/arkui/framework",
25  ]
26  cflags_cc = []
27  defines = []
28  if (use_mingw_win) {
29    cflags_cc += [ "-std=c++17" ]
30  }
31
32  if (use_linux) {
33    cflags_cc += [ "-std=c++17" ]
34  }
35
36  if (is_mac) {
37    cflags_cc = [ "-O0" ]
38  }
39}
40
41advanced_ui_component_targets = []
42foreach(module, advanced_ui_component_libs) {
43  if (use_mac) {
44    advanced_ui_component_lib(module) {
45      platform = "mac"
46    }
47  } else if (use_mingw_win) {
48    advanced_ui_component_lib(module) {
49      platform = "windows"
50    }
51  } else if (use_linux) {
52    advanced_ui_component_lib(module) {
53      platform = "linux"
54    }
55  } else if (!is_arkui_x) {
56    advanced_ui_component_lib(module) {
57      # napi libs remain isolate in libace.z.so and asan version
58      if (is_asan) {
59        platform = "ohos"
60      } else {
61        platform = "ohos_ng"
62      }
63    }
64  }
65
66  advanced_ui_component_targets += [ ":$module" ]
67}
68
69group("advanced_ui_component") {
70  deps = []
71  deps += [
72    ":dialog",
73    "arcbutton/interfaces:arcbutton",
74    "arcslider/interfaces:arcslider",
75    "counter/interfaces:counter",
76    "dialogv2/interfaces:dialogv2",
77    "downloadfilebutton/interfaces:downloadfilebutton",
78    "foldsplitcontainer/interfaces:foldsplitcontainer",
79    "formmenu/interfaces:formmenu",
80    "fullscreenlaunchcomponent/interfaces:fullscreenlaunchcomponent",
81    "multinavigation/interfaces:multinavigation",
82    "navpushpathhelper:navpushpathhelper",
83  ]
84  if (!ace_engine_feature_wearable) {
85    deps += advanced_ui_component_targets
86    deps += [
87      "chipgroup/interfaces:chipgroup",
88      "composelistitem/interfaces:composelistitem",
89      "composetitlebar/interfaces:composetitlebar",
90      "editabletitlebar/interfaces:editabletitlebar",
91      "exceptionprompt/interfaces:exceptionprompt",
92      "filter/interfaces:filter",
93      "gridobjectsortcomponent/interfaces:gridobjectsortcomponent",
94      "popup/interfaces:popup",
95      "progressbutton/interfaces:progressbutton",
96      "progressbuttonv2/interfaces:progressbuttonv2",
97      "segmentbutton/interfaces:segmentbutton",
98      "selectionmenu/interfaces:selectionmenu",
99      "selecttitlebar/interfaces:selecttitlebar",
100      "splitlayout/interfaces:splitlayout",
101      "subheader/interfaces:subheader",
102      "subheaderv2/interfaces:subheaderv2",
103      "swiperefresher/interfaces:swiperefresher",
104      "tabtitlebar/interfaces:tabtitlebar",
105      "toolbar/interfaces:toolbar",
106      "toolbarv2/interfaces:toolbarv2",
107      "treeview/interfaces:treeview",
108    ]
109  }
110}
111