a3b22060创建于 2025年6月26日历史提交
# Copyright (c) 2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#     http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

if (os_level == "standard") {
  import("//build/ohos.gni")
  import("//foundation/arkui/ui_lite/ui.gni")

  config("libupdater_layout_header_files") {
    visibility = [ ":*" ]
    include_dirs = arkui_ui_lite_include_dirs
    include_dirs += [ "//foundation/arkui/ui_lite/frameworks" ]
  }

  config("updater_layout_link_config") {
    ldflags = [ "-Wl,--lto-O0" ]
  }

  ohos_shared_library("libupdater_layout") {
    defines = [
      "__LITEOS_M__",
      "ENABLE_BITMAP_FONT = 0",
      "ENABLE_ICU = 1",
      "ENABLE_JPEG = 1",
      "ENABLE_PNG = 1",
      "ENABLE_MULTI_FONT = 0",
      "ENABLE_SHAPING = 0",
      "ENABLE_STATIC_FONT = 0",
      "ENABLE_VECTOR_FONT = 1",
    ]

    sources = arkui_ui_lite_sources
    sources -= [
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_abstract_clock.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_analog_clock.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_arc_label.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_axis.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_canvas.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_chart.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_checkbox.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_circle_progress.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_dialog.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_digital_clock.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_list.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_picker.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_qrcode.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_radio_button.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_repeat_button.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_slider.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_surface_view.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_swipe_view.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_texture_mapper.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_time_picker.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_toggle_button.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dfx/event_injector.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dfx/key_event_injector.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dfx/performance_task.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dfx/point_event_injector.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dfx/ui_dump_dom_tree.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dock/ohos/ohos_input_device.cpp",
      "$ARKUI_UI_LITE_PATH/frameworks/dock/virtual_input_device.cpp",
    ]
    include_dirs = arkui_ui_lite_include_dirs
    include_dirs += [ "//foundation/arkui/ui_lite/frameworks" ]

    configs = [ ":updater_layout_link_config" ]
    public_configs = [ ":libupdater_layout_header_files" ]

    external_deps = [
      "bounds_checking_function:libsec_static",
      "cJSON:cjson_static",
      "icu:icu_font",
      "freetype:freetype_static",
      "libjpeg-turbo:turbojpeg_static",
      "libpng:libpng",
      "graphic_utils_lite:utils_lite",
    ]

    install_images = [
      "updater",
      "system",
    ]
    part_name = "ui_lite"
    subsystem_name = "arkui"
  }
} else {
  group("libupdater_layout") {
  }
}