1f7a47986Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
2f7a47986Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3f7a47986Sopenharmony_ci# you may not use this file except in compliance with the License.
4f7a47986Sopenharmony_ci# You may obtain a copy of the License at
5f7a47986Sopenharmony_ci#
6f7a47986Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7f7a47986Sopenharmony_ci#
8f7a47986Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9f7a47986Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10f7a47986Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11f7a47986Sopenharmony_ci# See the License for the specific language governing permissions and
12f7a47986Sopenharmony_ci# limitations under the License.
13f7a47986Sopenharmony_ci
14f7a47986Sopenharmony_ciimport("//build/ohos.gni")
15f7a47986Sopenharmony_ci
16f7a47986Sopenharmony_ciconfig("tools_edm_config") {
17f7a47986Sopenharmony_ci  include_dirs = [ "include" ]
18f7a47986Sopenharmony_ci}
19f7a47986Sopenharmony_ci
20f7a47986Sopenharmony_ciohos_source_set("tools_edm_source_set") {
21f7a47986Sopenharmony_ci  sources = [
22f7a47986Sopenharmony_ci    "src/edm_command.cpp",
23f7a47986Sopenharmony_ci    "src/main.cpp",
24f7a47986Sopenharmony_ci    "src/shell_command.cpp",
25f7a47986Sopenharmony_ci  ]
26f7a47986Sopenharmony_ci
27f7a47986Sopenharmony_ci  public_configs = [
28f7a47986Sopenharmony_ci    ":tools_edm_config",
29f7a47986Sopenharmony_ci    "../../common/config:coverage_flags",
30f7a47986Sopenharmony_ci  ]
31f7a47986Sopenharmony_ci
32f7a47986Sopenharmony_ci  cflags = []
33f7a47986Sopenharmony_ci  if (target_cpu == "arm") {
34f7a47986Sopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
35f7a47986Sopenharmony_ci  }
36f7a47986Sopenharmony_ci
37f7a47986Sopenharmony_ci  external_deps = [
38f7a47986Sopenharmony_ci    "ability_base:want",
39f7a47986Sopenharmony_ci    "bundle_framework:appexecfwk_base",
40f7a47986Sopenharmony_ci    "c_utils:utils",
41f7a47986Sopenharmony_ci    "hilog:libhilog",
42f7a47986Sopenharmony_ci    "ipc:ipc_core",
43f7a47986Sopenharmony_ci  ]
44f7a47986Sopenharmony_ci
45f7a47986Sopenharmony_ci  deps = [ "../../interfaces/inner_api:edmservice_kits" ]
46f7a47986Sopenharmony_ci
47f7a47986Sopenharmony_ci  sanitize = {
48f7a47986Sopenharmony_ci    boundary_sanitize = true
49f7a47986Sopenharmony_ci    cfi = true
50f7a47986Sopenharmony_ci    cfi_cross_dso = true
51f7a47986Sopenharmony_ci    debug = false
52f7a47986Sopenharmony_ci    integer_overflow = true
53f7a47986Sopenharmony_ci    ubsan = true
54f7a47986Sopenharmony_ci  }
55f7a47986Sopenharmony_ci  subsystem_name = "customization"
56f7a47986Sopenharmony_ci  part_name = "enterprise_device_management"
57f7a47986Sopenharmony_ci}
58f7a47986Sopenharmony_ci
59f7a47986Sopenharmony_ciohos_executable("edm") {
60f7a47986Sopenharmony_ci  deps = [ ":tools_edm_source_set" ]
61f7a47986Sopenharmony_ci  external_deps = [ "hilog:libhilog" ]
62f7a47986Sopenharmony_ci
63f7a47986Sopenharmony_ci  install_enable = true
64f7a47986Sopenharmony_ci
65f7a47986Sopenharmony_ci  sanitize = {
66f7a47986Sopenharmony_ci    boundary_sanitize = true
67f7a47986Sopenharmony_ci    cfi = true
68f7a47986Sopenharmony_ci    cfi_cross_dso = true
69f7a47986Sopenharmony_ci    debug = false
70f7a47986Sopenharmony_ci    integer_overflow = true
71f7a47986Sopenharmony_ci    ubsan = true
72f7a47986Sopenharmony_ci  }
73f7a47986Sopenharmony_ci  subsystem_name = "customization"
74f7a47986Sopenharmony_ci  part_name = "enterprise_device_management"
75f7a47986Sopenharmony_ci}
76f7a47986Sopenharmony_ci
77f7a47986Sopenharmony_cigroup("tools_edm") {
78f7a47986Sopenharmony_ci  deps = [ ":edm" ]
79f7a47986Sopenharmony_ci}
80