1# Copyright (c) 2021-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#
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("../batterymgr.gni")
16
17config("batteryd_private_config") {
18  include_dirs = [ "include" ]
19}
20
21ohos_executable("charger") {
22  install_enable = true
23  defines += [
24    "ENABLE_INIT_LOG",
25    "DIFF_PATCH_SDK",
26  ]
27
28  sources = [
29    "src/animation_config.cpp",
30    "src/battery_backlight.cpp",
31    "src/battery_config.cpp",
32    "src/battery_led.cpp",
33    "src/battery_thread.cpp",
34    "src/battery_vibrate.cpp",
35    "src/charger.cpp",
36    "src/charger_animation.cpp",
37    "src/charger_graphic_engine.cpp",
38    "src/charger_thread.cpp",
39    "src/dev/drm_driver.cpp",
40    "src/dev/fbdev_driver.cpp",
41    "src/dev/graphic_dev.cpp",
42    "src/power_supply_provider.cpp",
43  ]
44
45  configs = [
46    ":batteryd_private_config",
47    "./../utils:coverage_flags",
48  ]
49
50  external_deps = [
51    "cJSON:cjson",
52    "c_utils:utils",
53    "drivers_interface_battery:libbattery_proxy_2.0",
54    "drivers_interface_input:libinput_proxy_1.0",
55    "init:libbegetutil",
56    "input:libmmi-client",
57    "ipc:ipc_core",
58    "json:nlohmann_json_static",
59    "jsoncpp:jsoncpp",
60    "libpng:libpng",
61  ]
62
63  if (has_battery_config_policy_part) {
64    defines += [ "HAS_BATTERY_CONFIG_POLICY_PART" ]
65    external_deps += [ "config_policy:configpolicy_util" ]
66  }
67
68  if (has_drivers_interface_display_part && has_drivers_interface_light_part &&
69      has_graphic_surface_part && has_ui_lite_part &&
70      battery_manager_feature_enable_charger) {
71    defines += [ "ENABLE_CHARGER" ]
72    external_deps += [
73      "drivers_interface_display:libdisplay_composer_hdi_impl_1.2",
74      "drivers_interface_display:libdisplay_composer_proxy_1.0",
75      "drivers_interface_light:liblight_proxy_1.0",
76      "graphic_surface:buffer_handle",
77      "libdrm:libdrm",
78      "ui_lite:libupdater_layout",
79    ]
80  } else {
81    sources = []
82    sources += [ "src/charger.cpp" ]
83  }
84
85  part_name = "battery_manager"
86  subsystem_name = "powermgr"
87}
88
89group("charger_group") {
90  deps = [ ":charger" ]
91}
92
93group("charger_animation") {
94  deps = [ "sa_profile:animation_config" ]
95}
96
97group("resources_service") {
98  if (battery_manager_feature_enable_charger) {
99    deps = [
100      "resources:charger_font",
101      "resources:device.charge.group.cfg",
102      "resources:init.charger.cfg",
103      "resources:resources_config",
104      "resources:resources_config1",
105      "resources:resources_config10",
106      "resources:resources_config11",
107      "resources:resources_config12",
108      "resources:resources_config13",
109      "resources:resources_config14",
110      "resources:resources_config15",
111      "resources:resources_config16",
112      "resources:resources_config17",
113      "resources:resources_config18",
114      "resources:resources_config19",
115      "resources:resources_config2",
116      "resources:resources_config20",
117      "resources:resources_config21",
118      "resources:resources_config22",
119      "resources:resources_config23",
120      "resources:resources_config24",
121      "resources:resources_config25",
122      "resources:resources_config26",
123      "resources:resources_config27",
124      "resources:resources_config28",
125      "resources:resources_config29",
126      "resources:resources_config3",
127      "resources:resources_config30",
128      "resources:resources_config31",
129      "resources:resources_config32",
130      "resources:resources_config33",
131      "resources:resources_config34",
132      "resources:resources_config35",
133      "resources:resources_config36",
134      "resources:resources_config37",
135      "resources:resources_config38",
136      "resources:resources_config39",
137      "resources:resources_config4",
138      "resources:resources_config40",
139      "resources:resources_config41",
140      "resources:resources_config42",
141      "resources:resources_config43",
142      "resources:resources_config44",
143      "resources:resources_config45",
144      "resources:resources_config46",
145      "resources:resources_config47",
146      "resources:resources_config48",
147      "resources:resources_config49",
148      "resources:resources_config5",
149      "resources:resources_config50",
150      "resources:resources_config51",
151      "resources:resources_config52",
152      "resources:resources_config53",
153      "resources:resources_config54",
154      "resources:resources_config55",
155      "resources:resources_config56",
156      "resources:resources_config57",
157      "resources:resources_config58",
158      "resources:resources_config59",
159      "resources:resources_config6",
160      "resources:resources_config60",
161      "resources:resources_config61",
162      "resources:resources_config62",
163      "resources:resources_config63",
164      "resources:resources_config64",
165      "resources:resources_config65",
166      "resources:resources_config7",
167      "resources:resources_config8",
168      "resources:resources_config9",
169    ]
170  } else {
171    deps = []
172  }
173}
174