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