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    "config_policy:configpolicy_util",
54    "drivers_interface_battery:libbattery_proxy_2.0",
55    "drivers_interface_input:libinput_proxy_1.0",
56    "init:libbegetutil",
57    "ipc:ipc_core",
58    "json:nlohmann_json_static",
59    "jsoncpp:jsoncpp",
60    "libpng:libpng",
61  ]
62
63  if (has_drivers_interface_display_part && has_drivers_interface_light_part &&
64      has_graphic_surface_part && has_ui_lite_part &&
65      battery_manager_feature_enable_charger) {
66    defines += [ "ENABLE_CHARGER" ]
67    external_deps += [
68      "drivers_interface_display:libdisplay_composer_hdi_impl",
69      "drivers_interface_display:libdisplay_composer_proxy_1.0",
70      "drivers_interface_light:liblight_proxy_1.0",
71      "graphic_surface:buffer_handle",
72      "libdrm:libdrm",
73      "ui_lite:libupdater_layout",
74    ]
75  } else {
76    sources = []
77    sources += [ "src/charger.cpp" ]
78  }
79
80  part_name = "battery_manager"
81}
82
83group("charger_group") {
84  deps = [ ":charger" ]
85}
86
87group("charger_animation") {
88  deps = [ "sa_profile:animation_config" ]
89}
90
91group("resources_service") {
92  deps = [
93    "resources:charger_font",
94    "resources:device.charge.group.cfg",
95    "resources:init.charger.cfg",
96    "resources:resources_config",
97    "resources:resources_config1",
98    "resources:resources_config10",
99    "resources:resources_config11",
100    "resources:resources_config12",
101    "resources:resources_config13",
102    "resources:resources_config14",
103    "resources:resources_config15",
104    "resources:resources_config16",
105    "resources:resources_config17",
106    "resources:resources_config18",
107    "resources:resources_config19",
108    "resources:resources_config2",
109    "resources:resources_config20",
110    "resources:resources_config21",
111    "resources:resources_config22",
112    "resources:resources_config23",
113    "resources:resources_config24",
114    "resources:resources_config25",
115    "resources:resources_config26",
116    "resources:resources_config27",
117    "resources:resources_config28",
118    "resources:resources_config29",
119    "resources:resources_config3",
120    "resources:resources_config30",
121    "resources:resources_config31",
122    "resources:resources_config32",
123    "resources:resources_config33",
124    "resources:resources_config34",
125    "resources:resources_config35",
126    "resources:resources_config36",
127    "resources:resources_config37",
128    "resources:resources_config38",
129    "resources:resources_config39",
130    "resources:resources_config4",
131    "resources:resources_config40",
132    "resources:resources_config41",
133    "resources:resources_config42",
134    "resources:resources_config43",
135    "resources:resources_config44",
136    "resources:resources_config45",
137    "resources:resources_config46",
138    "resources:resources_config47",
139    "resources:resources_config48",
140    "resources:resources_config49",
141    "resources:resources_config5",
142    "resources:resources_config50",
143    "resources:resources_config51",
144    "resources:resources_config52",
145    "resources:resources_config53",
146    "resources:resources_config54",
147    "resources:resources_config55",
148    "resources:resources_config56",
149    "resources:resources_config57",
150    "resources:resources_config58",
151    "resources:resources_config59",
152    "resources:resources_config6",
153    "resources:resources_config60",
154    "resources:resources_config61",
155    "resources:resources_config62",
156    "resources:resources_config63",
157    "resources:resources_config64",
158    "resources:resources_config65",
159    "resources:resources_config7",
160    "resources:resources_config8",
161    "resources:resources_config9",
162  ]
163}
164