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