1# Copyright (c) 2022 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#     http://www.apache.org/licenses/LICENSE-2.0
6# Unless required by applicable law or agreed to in writing, software
7# distributed under the License is distributed on an "AS IS" BASIS,
8# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9# See the License for the specific language governing permissions and
10# limitations under the License.
11
12if (os_level == "standard") {
13  import("//build/ohos.gni")
14  import("//foundation/arkui/ui_lite/ui.gni")
15  import("//foundation/graphic/graphic_utils_lite/utils.gni")
16
17  config("libupdater_layout_header_files") {
18    visibility = [ ":*" ]
19    include_dirs = arkui_ui_lite_include_dirs + graphic_utils_include_dirs
20    include_dirs += [ "//foundation/arkui/ui_lite/frameworks" ]
21  }
22
23  ohos_shared_library("libupdater_layout") {
24    defines = [
25      "__LITEOS_M__",
26      "ENABLE_BITMAP_FONT = 0",
27      "ENABLE_ICU = 1",
28      "ENABLE_JPEG = 1",
29      "ENABLE_PNG = 1",
30      "ENABLE_MULTI_FONT = 0",
31      "ENABLE_SHAPING = 0",
32      "ENABLE_STATIC_FONT = 0",
33      "ENABLE_VECTOR_FONT = 1",
34    ]
35
36    sources = arkui_ui_lite_sources + graphic_utils_sources
37    sources -= [
38      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_abstract_clock.cpp",
39      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_analog_clock.cpp",
40      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_arc_label.cpp",
41      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_axis.cpp",
42      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_canvas.cpp",
43      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_chart.cpp",
44      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_checkbox.cpp",
45      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_circle_progress.cpp",
46      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_dialog.cpp",
47      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_digital_clock.cpp",
48      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_list.cpp",
49      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_picker.cpp",
50      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_qrcode.cpp",
51      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_radio_button.cpp",
52      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_repeat_button.cpp",
53      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_slider.cpp",
54      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_surface_view.cpp",
55      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_swipe_view.cpp",
56      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_texture_mapper.cpp",
57      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_time_picker.cpp",
58      "$ARKUI_UI_LITE_PATH/frameworks/components/ui_toggle_button.cpp",
59      "$ARKUI_UI_LITE_PATH/frameworks/dfx/event_injector.cpp",
60      "$ARKUI_UI_LITE_PATH/frameworks/dfx/key_event_injector.cpp",
61      "$ARKUI_UI_LITE_PATH/frameworks/dfx/performance_task.cpp",
62      "$ARKUI_UI_LITE_PATH/frameworks/dfx/point_event_injector.cpp",
63      "$ARKUI_UI_LITE_PATH/frameworks/dfx/ui_dump_dom_tree.cpp",
64      "$ARKUI_UI_LITE_PATH/frameworks/dock/ohos/ohos_input_device.cpp",
65      "$ARKUI_UI_LITE_PATH/frameworks/dock/virtual_input_device.cpp",
66    ]
67    include_dirs = arkui_ui_lite_include_dirs + graphic_utils_include_dirs
68    include_dirs += [ "//foundation/arkui/ui_lite/frameworks" ]
69
70    public_configs = [ ":libupdater_layout_header_files" ]
71
72    deps = [
73      "//third_party/bounds_checking_function:libsec_static",
74      "//third_party/freetype:freetype_static",
75      "//third_party/icu/icu4c/source/common:icu_font",
76      "//third_party/libjpeg-turbo:turbojpeg_static",
77      "//third_party/libpng:libpng",
78    ]
79
80    install_images = [
81      "updater",
82      "system",
83    ]
84    part_name = "ui_lite"
85    subsystem_name = "arkui"
86  }
87} else {
88  group("libupdater_layout") {
89  }
90}
91