# Copyright (c) 2021-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. import("//build/ohos.gni") import("../windowmanager_aafwk.gni") config("libwmutil_private_config") { include_dirs = [ "include", "../dmserver/include", "../interfaces/innerkits/dm", "../interfaces/innerkits/wm", ] } config("libwmutil_public_config") { include_dirs = [ "include" ] } ## build libwmutil_static.a ohos_static_library("libwmutil_static") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true cfi_vcall_icall_only = true debug = false integer_overflow = true ubsan = true boundary_sanitize = true } sources = [ "src/accessibility_window_info.cpp", "src/agent_death_recipient.cpp", "src/color_parser.cpp", "src/cutout_info.cpp", "src/display_change_info.cpp", "src/display_info.cpp", "src/dms_reporter.cpp", "src/perform_reporter.cpp", "src/permission.cpp", "src/persistent_storage.cpp", "src/pip_report.cpp", "src/screen_group_info.cpp", "src/screen_info.cpp", "src/screenshot_info.cpp", "src/singleton_container.cpp", "src/string_util.cpp", "src/surface_draw.cpp", "src/surface_reader.cpp", "src/surface_reader_handler_impl.cpp", "src/sys_cap_util.cpp", "src/unreliable_window_info.cpp", "src/window_drawing_content_info.cpp", "src/window_property.cpp", "src/window_transition_info.cpp", "src/window_visibility_info.cpp", "src/wm_math.cpp", "src/wm_occlusion_region.cpp", "src/xml_config_base.cpp", ] configs = [ ":libwmutil_private_config", "${window_base_path}/resources/config/build:coverage_flags", ] public_configs = [ ":libwmutil_public_config" ] external_deps = [ "ability_base:want", "ability_runtime:ability_manager", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "graphic_2d:2d_graphics", "graphic_2d:librender_service_client", "graphic_surface:surface", "hilog:libhilog", "hisysevent:libhisysevent", "hitrace:hitrace_meter", "image_framework:image_native", "input:libmmi-client", "ipc:ipc_single", "preferences:native_preferences", "samgr:samgr_proxy", ] part_name = "window_manager" subsystem_name = "window" } ## Build libwmutil_base.so ohos_shared_library("libwmutil_base") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true cfi_vcall_icall_only = true debug = false } sources = [ "src/accessibility_window_info.cpp", "src/agent_death_recipient.cpp", "src/color_parser.cpp", "src/cutout_info.cpp", "src/display_change_info.cpp", "src/display_info.cpp", "src/screen_group_info.cpp", "src/screen_info.cpp", "src/screenshot_info.cpp", "src/singleton_container.cpp", "src/string_util.cpp", "src/unreliable_window_info.cpp", "src/window_drawing_content_info.cpp", "src/window_pid_visibility_info.cpp", "src/window_visibility_info.cpp", "src/wm_common.cpp", "src/wm_math.cpp", "src/wm_occlusion_region.cpp", "src/xml_config_base.cpp", ] configs = [ ":libwmutil_private_config" ] external_deps = [ "c_utils:utils", "hilog:libhilog", "ipc:ipc_single", ] innerapi_tags = [ "platformsdk" ] part_name = "window_manager" subsystem_name = "window" } ## Build libwmutil.so ohos_shared_library("libwmutil") { branch_protector_ret = "pac_ret" sources = [ "src/dms_reporter.cpp", "src/dms_xcollie.cpp", "src/perform_reporter.cpp", "src/permission.cpp", "src/persistent_storage.cpp", "src/pip_report.cpp", "src/screen_fold_data.cpp", "src/screen_group_info.cpp", "src/screen_info.cpp", "src/surface_draw.cpp", "src/surface_reader.cpp", "src/surface_reader_handler_impl.cpp", "src/sys_cap_util.cpp", "src/typec_port_info.cpp", "src/window_property.cpp", "src/window_transition_info.cpp", ] configs = [ ":libwmutil_private_config", "../resources/config/build:coverage_flags", ] public_configs = [ ":libwmutil_public_config" ] deps = [ ":libwmutil_base" ] external_deps = [ "ability_base:want", "ability_runtime:ability_start_setting", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "graphic_2d:2d_graphics", "graphic_2d:librender_service_client", "graphic_surface:surface", "hicollie:libhicollie", "hilog:libhilog", "hisysevent:libhisysevent", "hitrace:hitrace_meter", "image_framework:image_native", "input:libmmi-client", "ipc:ipc_single", "samgr:samgr_proxy", ] if (!(host_os == "linux" && host_cpu == "arm64")) { external_deps += [ "preferences:native_preferences" ] } innerapi_tags = [ "platformsdk" ] part_name = "window_manager" subsystem_name = "window" defines = [] if (build_variant == "user") { defines += [ "IS_RELEASE_VERSION" ] } } group("test") { testonly = true deps = [ "test:test" ] }