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