1e9297d28Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 2e9297d28Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3e9297d28Sopenharmony_ci# you may not use this file except in compliance with the License. 4e9297d28Sopenharmony_ci# You may obtain a copy of the License at 5e9297d28Sopenharmony_ci# 6e9297d28Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7e9297d28Sopenharmony_ci# 8e9297d28Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9e9297d28Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10e9297d28Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11e9297d28Sopenharmony_ci# See the License for the specific language governing permissions and 12e9297d28Sopenharmony_ci# limitations under the License. 13e9297d28Sopenharmony_ci 14e9297d28Sopenharmony_ciimport("//build/ohos.gni") 15e9297d28Sopenharmony_ciimport("//foundation/graphic/graphic_2d/graphic_config.gni") 16e9297d28Sopenharmony_ciimport("render_service_client.gni") 17e9297d28Sopenharmony_ci 18e9297d28Sopenharmony_ciconfig("render_service_client_config") { 19e9297d28Sopenharmony_ci include_dirs = [ 20e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules", 21e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/render_service_client/core", 22e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/render_service_base/include", 23e9297d28Sopenharmony_ci "$graphic_2d_root/interfaces/inner_api/common", 24e9297d28Sopenharmony_ci "$graphic_2d_root/interfaces/inner_api/composer", 25e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/2d_engine/rosen_text/export/rosen_text/", 26e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/2d_graphics", 27e9297d28Sopenharmony_ci ] 28e9297d28Sopenharmony_ci defines = rs_common_define 29e9297d28Sopenharmony_ci if (defined(is_arkui_x) && is_arkui_x) { 30e9297d28Sopenharmony_ci include_dirs += [ 31e9297d28Sopenharmony_ci "$graphic_2d_root/utils/color_manager/export", 32e9297d28Sopenharmony_ci "//foundation/multimedia/image_framework/interfaces/innerkits/include", 33e9297d28Sopenharmony_ci ] 34e9297d28Sopenharmony_ci } 35e9297d28Sopenharmony_ci} 36e9297d28Sopenharmony_ci 37e9297d28Sopenharmony_citemplate("render_service_client_source_set") { 38e9297d28Sopenharmony_ci ohos_source_set(target_name) { 39e9297d28Sopenharmony_ci branch_protector_ret = "pac_ret" 40e9297d28Sopenharmony_ci sanitize = { 41e9297d28Sopenharmony_ci cfi = false 42e9297d28Sopenharmony_ci cfi_cross_dso = false 43e9297d28Sopenharmony_ci debug = false 44e9297d28Sopenharmony_ci blocklist = "./rs_client_blocklist.txt" 45e9297d28Sopenharmony_ci if (rosen_is_ohos) { 46e9297d28Sopenharmony_ci boundary_sanitize = true 47e9297d28Sopenharmony_ci integer_overflow = true 48e9297d28Sopenharmony_ci ubsan = true 49e9297d28Sopenharmony_ci } 50e9297d28Sopenharmony_ci } 51e9297d28Sopenharmony_ci defines = [] 52e9297d28Sopenharmony_ci defines += gpu_defines 53e9297d28Sopenharmony_ci defines += [ "MODULE_RSC" ] 54e9297d28Sopenharmony_ci is_static_lib = invoker.is_static_lib 55e9297d28Sopenharmony_ci include_dirs = [ 56e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/2d_graphics/src", 57e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/frame_report/include", 58e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/render_frame_trace/include", 59e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/render_service_base/src", 60e9297d28Sopenharmony_ci "$graphic_2d_root/utils/color_manager/export", 61e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/2d_engine/rosen_text/symbol/symbol_animation", 62e9297d28Sopenharmony_ci "$graphic_2d_root/utils/log", 63e9297d28Sopenharmony_ci "$graphic_2d_root/utils/sandbox", 64e9297d28Sopenharmony_ci ] 65e9297d28Sopenharmony_ci 66e9297d28Sopenharmony_ci if (defined(is_arkui_x) && is_arkui_x) { 67e9297d28Sopenharmony_ci include_dirs += [ 68e9297d28Sopenharmony_ci "$graphic_2d_root/utils/color_manager/export", 69e9297d28Sopenharmony_ci "//foundation/multimedia/image_framework/interfaces/innerkits/include", 70e9297d28Sopenharmony_ci "//foundation/graphic/graphic_surface/interfaces/inner_api/surface", 71e9297d28Sopenharmony_ci ] 72e9297d28Sopenharmony_ci } 73e9297d28Sopenharmony_ci 74e9297d28Sopenharmony_ci sources = [ 75e9297d28Sopenharmony_ci #animation 76e9297d28Sopenharmony_ci "core/animation/rs_animation.cpp", 77e9297d28Sopenharmony_ci "core/animation/rs_animation_callback.cpp", 78e9297d28Sopenharmony_ci "core/animation/rs_animation_group.cpp", 79e9297d28Sopenharmony_ci "core/animation/rs_animation_timing_curve.cpp", 80e9297d28Sopenharmony_ci "core/animation/rs_curve_animation.cpp", 81e9297d28Sopenharmony_ci "core/animation/rs_implicit_animation_param.cpp", 82e9297d28Sopenharmony_ci "core/animation/rs_implicit_animator.cpp", 83e9297d28Sopenharmony_ci "core/animation/rs_implicit_animator_map.cpp", 84e9297d28Sopenharmony_ci "core/animation/rs_interactive_implict_animator.cpp", 85e9297d28Sopenharmony_ci "core/animation/rs_interpolating_spring_animation.cpp", 86e9297d28Sopenharmony_ci "core/animation/rs_keyframe_animation.cpp", 87e9297d28Sopenharmony_ci "core/animation/rs_path_animation.cpp", 88e9297d28Sopenharmony_ci "core/animation/rs_property_animation.cpp", 89e9297d28Sopenharmony_ci "core/animation/rs_spring_animation.cpp", 90e9297d28Sopenharmony_ci "core/animation/rs_symbol_animation.cpp", 91e9297d28Sopenharmony_ci "core/animation/rs_transition.cpp", 92e9297d28Sopenharmony_ci "core/animation/rs_transition_effect.cpp", 93e9297d28Sopenharmony_ci 94e9297d28Sopenharmony_ci #modifier 95e9297d28Sopenharmony_ci "core/modifier/rs_extended_modifier.cpp", 96e9297d28Sopenharmony_ci "core/modifier/rs_modifier.cpp", 97e9297d28Sopenharmony_ci "core/modifier/rs_modifier_extractor.cpp", 98e9297d28Sopenharmony_ci "core/modifier/rs_modifier_manager.cpp", 99e9297d28Sopenharmony_ci "core/modifier/rs_modifier_manager_map.cpp", 100e9297d28Sopenharmony_ci "core/modifier/rs_property.cpp", 101e9297d28Sopenharmony_ci "core/modifier/rs_property_modifier.cpp", 102e9297d28Sopenharmony_ci "core/modifier/rs_showing_properties_freezer.cpp", 103e9297d28Sopenharmony_ci 104e9297d28Sopenharmony_ci #jank_detector 105e9297d28Sopenharmony_ci "core/jank_detector/rs_jank_detector.cpp", 106e9297d28Sopenharmony_ci 107e9297d28Sopenharmony_ci #pipeline 108e9297d28Sopenharmony_ci "core/pipeline/rs_divided_ui_capture.cpp", 109e9297d28Sopenharmony_ci "core/pipeline/rs_node_map.cpp", 110e9297d28Sopenharmony_ci "core/pipeline/rs_render_thread.cpp", 111e9297d28Sopenharmony_ci "core/pipeline/rs_render_thread_visitor.cpp", 112e9297d28Sopenharmony_ci 113e9297d28Sopenharmony_ci #transaction 114e9297d28Sopenharmony_ci "core/transaction/rs_application_agent_impl.cpp", 115e9297d28Sopenharmony_ci "core/transaction/rs_interfaces.cpp", 116e9297d28Sopenharmony_ci "core/transaction/rs_render_thread_client.cpp", 117e9297d28Sopenharmony_ci "core/transaction/rs_sync_transaction_controller.cpp", 118e9297d28Sopenharmony_ci "core/transaction/rs_transaction.cpp", 119e9297d28Sopenharmony_ci 120e9297d28Sopenharmony_ci #ui 121e9297d28Sopenharmony_ci "core/ui/rs_canvas_drawing_node.cpp", 122e9297d28Sopenharmony_ci "core/ui/rs_canvas_node.cpp", 123e9297d28Sopenharmony_ci "core/ui/rs_display_node.cpp", 124e9297d28Sopenharmony_ci "core/ui/rs_effect_node.cpp", 125e9297d28Sopenharmony_ci "core/ui/rs_ext_node_operation.cpp", 126e9297d28Sopenharmony_ci "core/ui/rs_frame_rate_linker.cpp", 127e9297d28Sopenharmony_ci "core/ui/rs_frame_rate_policy.cpp", 128e9297d28Sopenharmony_ci "core/ui/rs_hdr_manager.cpp", 129e9297d28Sopenharmony_ci "core/ui/rs_node.cpp", 130e9297d28Sopenharmony_ci "core/ui/rs_proxy_node.cpp", 131e9297d28Sopenharmony_ci "core/ui/rs_root_node.cpp", 132e9297d28Sopenharmony_ci "core/ui/rs_surface_extractor.cpp", 133e9297d28Sopenharmony_ci "core/ui/rs_surface_node.cpp", 134e9297d28Sopenharmony_ci "core/ui/rs_texture_export.cpp", 135e9297d28Sopenharmony_ci "core/ui/rs_ui_director.cpp", 136e9297d28Sopenharmony_ci "core/ui/rs_ui_display_soloist.cpp", 137e9297d28Sopenharmony_ci "core/ui/rs_ui_share_context.cpp", 138e9297d28Sopenharmony_ci ] 139e9297d28Sopenharmony_ci 140e9297d28Sopenharmony_ci if (is_cross_platform) { 141e9297d28Sopenharmony_ci #ui 142e9297d28Sopenharmony_ci sources -= [ "core/ui/rs_display_node.cpp" ] 143e9297d28Sopenharmony_ci defines += [ "CROSS_PLATFORM" ] 144e9297d28Sopenharmony_ci } 145e9297d28Sopenharmony_ci 146e9297d28Sopenharmony_ci if (rosen_is_ohos) { 147e9297d28Sopenharmony_ci sources += [ "$rosen_root/modules/frame_report/src/rs_frame_report.cpp" ] 148e9297d28Sopenharmony_ci } else if (!is_arkui_x) { 149e9297d28Sopenharmony_ci sources += 150e9297d28Sopenharmony_ci [ "$rosen_root/modules/frame_report/src/mingw/rs_frame_report.cpp" ] 151e9297d28Sopenharmony_ci } 152e9297d28Sopenharmony_ci 153e9297d28Sopenharmony_ci cflags = [ 154e9297d28Sopenharmony_ci "-Wall", 155e9297d28Sopenharmony_ci "-Wno-pointer-arith", 156e9297d28Sopenharmony_ci "-Wno-non-virtual-dtor", 157e9297d28Sopenharmony_ci "-Wno-missing-field-initializers", 158e9297d28Sopenharmony_ci "-Wno-c++11-narrowing", 159e9297d28Sopenharmony_ci "-fvisibility=hidden", 160e9297d28Sopenharmony_ci ] 161e9297d28Sopenharmony_ci 162e9297d28Sopenharmony_ci if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 163e9297d28Sopenharmony_ci if (!use_libfuzzer) { 164e9297d28Sopenharmony_ci cflags += [ "-flto=thin" ] 165e9297d28Sopenharmony_ci } 166e9297d28Sopenharmony_ci if (enhanced_opt) { 167e9297d28Sopenharmony_ci if (!use_libfuzzer) { 168e9297d28Sopenharmony_ci cflags += [ "-fwhole-program-vtables" ] 169e9297d28Sopenharmony_ci } 170e9297d28Sopenharmony_ci } 171e9297d28Sopenharmony_ci } 172e9297d28Sopenharmony_ci 173e9297d28Sopenharmony_ci cflags_cc = [ 174e9297d28Sopenharmony_ci "-std=c++17", 175e9297d28Sopenharmony_ci "-fvisibility-inlines-hidden", 176e9297d28Sopenharmony_ci ] 177e9297d28Sopenharmony_ci 178e9297d28Sopenharmony_ci deps = [ 179e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/platform:ipc_core", 180e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/render_frame_trace:render_frame_trace", 181e9297d28Sopenharmony_ci ] 182e9297d28Sopenharmony_ci public_deps = [] 183e9297d28Sopenharmony_ci if (enable_export_macro) { 184e9297d28Sopenharmony_ci defines += [ "ENABLE_EXPORT_MACRO" ] 185e9297d28Sopenharmony_ci } 186e9297d28Sopenharmony_ci 187e9297d28Sopenharmony_ci if (defined(use_rosen_drawing) && use_rosen_drawing) { 188e9297d28Sopenharmony_ci defines += [ "USE_ROSEN_DRAWING" ] 189e9297d28Sopenharmony_ci deps += [ "$graphic_2d_root/rosen/modules/2d_graphics:2d_graphics" ] 190e9297d28Sopenharmony_ci if (rs_enable_gpu) { 191e9297d28Sopenharmony_ci defines += [ "RS_ENABLE_GPU" ] 192e9297d28Sopenharmony_ci } 193e9297d28Sopenharmony_ci if (current_os == "mingw") { 194e9297d28Sopenharmony_ci defines += [ "WINDOWS_PLATFORM" ] 195e9297d28Sopenharmony_ci } 196e9297d28Sopenharmony_ci } 197e9297d28Sopenharmony_ci if (rosen_is_ohos) { 198e9297d28Sopenharmony_ci deps += [ 199e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/frame_analyzer:libframe_analyzer", 200e9297d28Sopenharmony_ci "$graphic_2d_root/utils/color_manager:color_manager", 201e9297d28Sopenharmony_ci ] 202e9297d28Sopenharmony_ci 203e9297d28Sopenharmony_ci external_deps = [ 204e9297d28Sopenharmony_ci "c_utils:utils", 205e9297d28Sopenharmony_ci "hisysevent:libhisysevent", 206e9297d28Sopenharmony_ci "hitrace:hitrace_meter", 207e9297d28Sopenharmony_ci "image_framework:image_native", 208e9297d28Sopenharmony_ci "qos_manager:qos", 209e9297d28Sopenharmony_ci ] 210e9297d28Sopenharmony_ci 211e9297d28Sopenharmony_ci defines += [ "RES_CLINET_SCHED_ENABLE" ] 212e9297d28Sopenharmony_ci 213e9297d28Sopenharmony_ci if (accessibility_enable) { 214e9297d28Sopenharmony_ci external_deps += [ "accessibility:accessibilityconfig" ] 215e9297d28Sopenharmony_ci external_deps += [ "accessibility:accessibility_common" ] 216e9297d28Sopenharmony_ci defines += accessibility_defines 217e9297d28Sopenharmony_ci } 218e9297d28Sopenharmony_ci } else if (rosen_preview) { 219e9297d28Sopenharmony_ci deps += [ 220e9297d28Sopenharmony_ci "$graphic_2d_root/frameworks/opengl_wrapper:EGL", 221e9297d28Sopenharmony_ci "$graphic_2d_root/frameworks/opengl_wrapper:GLESv3", 222e9297d28Sopenharmony_ci "$graphic_2d_root/rosen/modules/glfw_render_context:libglfw_render_context", 223e9297d28Sopenharmony_ci ] 224e9297d28Sopenharmony_ci 225e9297d28Sopenharmony_ci if (rss_enabled) { 226e9297d28Sopenharmony_ci external_deps = [] 227e9297d28Sopenharmony_ci } 228e9297d28Sopenharmony_ci } 229e9297d28Sopenharmony_ci if (defined(external_deps)) { 230e9297d28Sopenharmony_ci external_deps += [ "hilog:libhilog" ] 231e9297d28Sopenharmony_ci } else { 232e9297d28Sopenharmony_ci external_deps = [ "hilog:libhilog" ] 233e9297d28Sopenharmony_ci } 234e9297d28Sopenharmony_ci 235e9297d28Sopenharmony_ci external_deps += [ "graphic_surface:surface_headers" ] 236e9297d28Sopenharmony_ci 237e9297d28Sopenharmony_ci if (rosen_cross_platform) { 238e9297d28Sopenharmony_ci deps += [ "$rosen_root/modules/platform:hilog" ] 239e9297d28Sopenharmony_ci } 240e9297d28Sopenharmony_ci 241e9297d28Sopenharmony_ci if (rss_enabled) { 242e9297d28Sopenharmony_ci defines += [ "OHOS_RSS_CLIENT" ] 243e9297d28Sopenharmony_ci external_deps += [ "resource_schedule_service:ressched_client" ] 244e9297d28Sopenharmony_ci } 245e9297d28Sopenharmony_ci 246e9297d28Sopenharmony_ci if (is_static_lib) { 247e9297d28Sopenharmony_ci public_deps += [ "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base_static" ] 248e9297d28Sopenharmony_ci } else { 249e9297d28Sopenharmony_ci public_deps += [ "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base" ] 250e9297d28Sopenharmony_ci deps += [ "$rosen_root/modules/platform:eventhandler" ] 251e9297d28Sopenharmony_ci } 252e9297d28Sopenharmony_ci 253e9297d28Sopenharmony_ci if (defined(graphic_2d_broker_configs.vendor_root) && !rosen_preview) { 254e9297d28Sopenharmony_ci sources += 255e9297d28Sopenharmony_ci graphic_2d_broker_configs.librender_service_client_ext_broker_sources 256e9297d28Sopenharmony_ci sources -= graphic_2d_broker_configs.librender_service_client_ext_broker_sources_del 257e9297d28Sopenharmony_ci external_deps += [ "ipc:ipc_core" ] 258e9297d28Sopenharmony_ci external_deps += [ "samgr:samgr_proxy" ] 259e9297d28Sopenharmony_ci } 260e9297d28Sopenharmony_ci 261e9297d28Sopenharmony_ci if (tp_feature_enable) { 262e9297d28Sopenharmony_ci defines += tp_defines 263e9297d28Sopenharmony_ci } 264e9297d28Sopenharmony_ci 265e9297d28Sopenharmony_ci public_configs = [ ":render_service_client_config" ] 266e9297d28Sopenharmony_ci 267e9297d28Sopenharmony_ci part_name = "graphic_2d" 268e9297d28Sopenharmony_ci subsystem_name = "graphic" 269e9297d28Sopenharmony_ci } 270e9297d28Sopenharmony_ci} 271e9297d28Sopenharmony_ci 272e9297d28Sopenharmony_cirender_service_client_source_set("render_service_client_src") { 273e9297d28Sopenharmony_ci is_static_lib = false 274e9297d28Sopenharmony_ci} 275e9297d28Sopenharmony_ci 276e9297d28Sopenharmony_cirender_service_client_source_set("render_service_client_src_static") { 277e9297d28Sopenharmony_ci is_static_lib = true 278e9297d28Sopenharmony_ci} 279e9297d28Sopenharmony_ci 280e9297d28Sopenharmony_ciconfig("render_service_client_link_config") { 281e9297d28Sopenharmony_ci if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 282e9297d28Sopenharmony_ci ldflags = [ 283e9297d28Sopenharmony_ci "-Wl,--lto-O2", 284e9297d28Sopenharmony_ci "-Wl,-mllvm", 285e9297d28Sopenharmony_ci "-Wl,-wholeprogramdevirt-check=fallback", 286e9297d28Sopenharmony_ci "-Wl,-Bsymbolic", 287e9297d28Sopenharmony_ci ] 288e9297d28Sopenharmony_ci } 289e9297d28Sopenharmony_ci} 290e9297d28Sopenharmony_ci 291e9297d28Sopenharmony_ciohos_shared_library("librender_service_client") { 292e9297d28Sopenharmony_ci branch_protector_ret = "pac_ret" 293e9297d28Sopenharmony_ci sanitize = { 294e9297d28Sopenharmony_ci cfi = false 295e9297d28Sopenharmony_ci cfi_cross_dso = false 296e9297d28Sopenharmony_ci debug = false 297e9297d28Sopenharmony_ci blocklist = "./rs_client_blocklist.txt" 298e9297d28Sopenharmony_ci } 299e9297d28Sopenharmony_ci 300e9297d28Sopenharmony_ci public_configs = [ ":render_service_client_config" ] 301e9297d28Sopenharmony_ci 302e9297d28Sopenharmony_ci public_deps = [ ":render_service_client_src" ] 303e9297d28Sopenharmony_ci 304e9297d28Sopenharmony_ci external_deps = [ "hilog:libhilog" ] 305e9297d28Sopenharmony_ci 306e9297d28Sopenharmony_ci if (enhanced_opt) { 307e9297d28Sopenharmony_ci configs = [ ":render_service_client_link_config" ] 308e9297d28Sopenharmony_ci } 309e9297d28Sopenharmony_ci 310e9297d28Sopenharmony_ci public_external_deps = [] 311e9297d28Sopenharmony_ci if (rosen_is_ohos) { 312e9297d28Sopenharmony_ci public_external_deps += [ "graphic_surface:surface" ] 313e9297d28Sopenharmony_ci } else if (rosen_preview) { 314e9297d28Sopenharmony_ci public_external_deps += [ "graphic_surface:surface_headers" ] 315e9297d28Sopenharmony_ci } 316e9297d28Sopenharmony_ci 317e9297d28Sopenharmony_ci part_name = "graphic_2d" 318e9297d28Sopenharmony_ci subsystem_name = "graphic" 319e9297d28Sopenharmony_ci} 320e9297d28Sopenharmony_ci 321e9297d28Sopenharmony_ciohos_source_set("librender_service_client_static") { 322e9297d28Sopenharmony_ci branch_protector_ret = "pac_ret" 323e9297d28Sopenharmony_ci sanitize = { 324e9297d28Sopenharmony_ci cfi = false 325e9297d28Sopenharmony_ci cfi_cross_dso = false 326e9297d28Sopenharmony_ci debug = false 327e9297d28Sopenharmony_ci blocklist = "./rs_client_blocklist.txt" 328e9297d28Sopenharmony_ci } 329e9297d28Sopenharmony_ci public_deps = [ ":render_service_client_src_static" ] 330e9297d28Sopenharmony_ci deps = [ "$rosen_root/modules/platform:eventhandler" ] 331e9297d28Sopenharmony_ci 332e9297d28Sopenharmony_ci public_external_deps = [] 333e9297d28Sopenharmony_ci if (rosen_is_ohos) { 334e9297d28Sopenharmony_ci public_external_deps += [ "graphic_surface:surface" ] 335e9297d28Sopenharmony_ci } else if (rosen_preview) { 336e9297d28Sopenharmony_ci public_external_deps += [ "graphic_surface:surface_headers" ] 337e9297d28Sopenharmony_ci } else if (is_arkui_x) { 338e9297d28Sopenharmony_ci public_deps += 339e9297d28Sopenharmony_ci [ "//foundation/graphic/graphic_surface/surface:surface_headers" ] 340e9297d28Sopenharmony_ci } 341e9297d28Sopenharmony_ci 342e9297d28Sopenharmony_ci part_name = "graphic_2d" 343e9297d28Sopenharmony_ci subsystem_name = "graphic" 344e9297d28Sopenharmony_ci} 345e9297d28Sopenharmony_ci 346e9297d28Sopenharmony_cigroup("test") { 347e9297d28Sopenharmony_ci if (rosen_is_ohos) { 348e9297d28Sopenharmony_ci testonly = true 349e9297d28Sopenharmony_ci 350e9297d28Sopenharmony_ci deps = [ "test:test" ] 351e9297d28Sopenharmony_ci } 352e9297d28Sopenharmony_ci} 353