1# Copyright (c) 2021-2024 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("//build/ohos_var.gni")
16import("//foundation/deviceprofile/device_info_manager/deviceprofile.gni")
17
18config("device_info_manager_config") {
19  visibility = [ ":*" ]
20  visibility += [ "./test/*" ]
21  include_dirs = [
22    "include",
23    "include/contentsensormanager",
24    "include/common",
25    "include/deviceprofilemanager",
26    "include/deviceprofilemanager/listener",
27    "include/dfx",
28    "include/dm_adapter",
29    "include/permissionmanager",
30    "include/persistenceadapter",
31    "include/persistenceadapter/kvadapter",
32    "include/persistenceadapter/rdbadapter",
33    "include/subscribeprofilemanager",
34    "include/staticcapabilitycollector",
35    "include/staticcapabilityloader",
36    "include/trustprofilemanager",
37    "include/utils",
38    "${device_profile_common}/include/constants",
39    "${device_profile_common}/include/interfaces",
40    "${device_profile_common}/include/utils",
41    "${device_profile_path}/radar/include",
42  ]
43}
44
45ohos_shared_library("distributed_device_profile_svr") {
46  branch_protector_ret = "pac_ret"
47
48  cflags = [
49    "-fstack-protector-strong",
50    "-D_FORTIFY_SOURCE=2",
51    "-O2",
52  ]
53
54  cflags_cc = cflags
55
56  sanitize = {
57    boundary_sanitize = true
58    integer_overflow = true
59    ubsan = true
60    debug = false
61  }
62
63  install_enable = true
64  sources = [
65    "src/contentsensormanager/collaboration_info_collector.cpp",
66    "src/contentsensormanager/collector.cpp",
67    "src/contentsensormanager/content_sensor_manager.cpp",
68    "src/contentsensormanager/dms_info_collector.cpp",
69    "src/contentsensormanager/pasteboard_info_collector.cpp",
70    "src/contentsensormanager/switch_status_collector.cpp",
71    "src/contentsensormanager/syscap_info_collector.cpp",
72    "src/contentsensormanager/system_info_collector.cpp",
73    "src/deviceprofilemanager/device_profile_manager.cpp",
74    "src/deviceprofilemanager/listener/kv_data_change_listener.cpp",
75    "src/deviceprofilemanager/listener/kv_store_death_recipient.cpp",
76    "src/deviceprofilemanager/listener/kv_sync_completed_listener.cpp",
77    "src/deviceprofilemanager/listener/sync_subscriber_death_recipient.cpp",
78    "src/deviceprofilemanager/static_profile_manager.cpp",
79    "src/deviceprofilemanager/switch_profile_manager.cpp",
80    "src/dfx/device_profile_dumper.cpp",
81    "src/distributed_device_profile_service_new.cpp",
82    "src/distributed_device_profile_stub_new.cpp",
83    "src/dm_adapter/dm_adapter.cpp",
84    "src/permissionmanager/permission_manager.cpp",
85    "src/persistenceadapter/kvadapter/kv_adapter.cpp",
86    "src/persistenceadapter/kvadapter/switch_adapter.cpp",
87    "src/persistenceadapter/rdbadapter/rdb_adapter.cpp",
88    "src/staticcapabilitycollector/static_capability_collector.cpp",
89    "src/staticcapabilityloader/static_capability_loader.cpp",
90    "src/subscribeprofilemanager/subscribe_profile_manager.cpp",
91    "src/trustprofilemanager/trust_profile_manager.cpp",
92    "src/utils/event_handler_factory.cpp",
93    "src/utils/profile_cache.cpp",
94    "src/utils/profile_control_utils.cpp",
95  ]
96
97  deps = [
98    "${device_profile_common}:distributed_device_profile_common",
99    "${device_profile_path}/radar:device_profile_radar",
100  ]
101
102  configs = [ ":device_info_manager_config" ]
103
104  external_deps = [
105    "access_token:libaccesstoken_sdk",
106    "cJSON:cjson",
107    "c_utils:utils",
108    "config_policy:configpolicy_util",
109    "device_auth:deviceauth_sdk",
110    "device_manager:devicemanagersdk",
111    "dmsfwk:common_sdk",
112    "eventhandler:libeventhandler",
113    "hilog:libhilog",
114    "hisysevent:libhisysevent",
115    "hitrace:hitrace_meter",
116    "init:libbegetutil",
117    "ipc:ipc_core",
118    "kv_store:distributeddata_inner",
119    "relational_store:native_rdb",
120    "safwk:system_ability_fwk",
121    "samgr:samgr_proxy",
122    "syscap_codec:syscap_interface_shared",
123  ]
124
125  part_name = "device_info_manager"
126  subsystem_name = "deviceprofile"
127}
128
129group("unittest") {
130  testonly = true
131  deps = [ "test:unittest" ]
132}
133