1e0e9324cSopenharmony_ci# Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd.
2e0e9324cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e0e9324cSopenharmony_ci# you may not use this file except in compliance with the License.
4e0e9324cSopenharmony_ci# You may obtain a copy of the License at
5e0e9324cSopenharmony_ci#
6e0e9324cSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e0e9324cSopenharmony_ci#
8e0e9324cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e0e9324cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e0e9324cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e0e9324cSopenharmony_ci# See the License for the specific language governing permissions and
12e0e9324cSopenharmony_ci# limitations under the License.
13e0e9324cSopenharmony_ci
14e0e9324cSopenharmony_ciimport("//build/ohos.gni")
15e0e9324cSopenharmony_ciimport("//build/test.gni")
16e0e9324cSopenharmony_ciimport("//foundation/CastEngine/castengine_wifi_display/config.gni")
17e0e9324cSopenharmony_ci
18e0e9324cSopenharmony_cimodule_out_path = "sharing/interaction"
19e0e9324cSopenharmony_ci
20e0e9324cSopenharmony_ciohos_unittest("interaction_interprocess_unit_test") {
21e0e9324cSopenharmony_ci  module_out_path = module_out_path
22e0e9324cSopenharmony_ci
23e0e9324cSopenharmony_ci  sanitize = {
24e0e9324cSopenharmony_ci    cfi = true
25e0e9324cSopenharmony_ci    cfi_cross_dso = true
26e0e9324cSopenharmony_ci    debug = false
27e0e9324cSopenharmony_ci  }
28e0e9324cSopenharmony_ci
29e0e9324cSopenharmony_ci  include_dirs = [
30e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services",
31e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction",
32e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/frameworks/innerkitsimpl",
33e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/utils/native/base/include",
34e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/ipc_codec",
35e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/device_kit",
36e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/domain",
37e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/domain/rpc",
38e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess",
39e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/scene",
40e0e9324cSopenharmony_ci  ]
41e0e9324cSopenharmony_ci
42e0e9324cSopenharmony_ci  sources = [
43e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess/client_factory.cpp",
44e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess/inter_ipc_client.cpp",
45e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess/inter_ipc_client_stub.cpp",
46e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess/inter_ipc_proxy.cpp",
47e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess/inter_ipc_stub.cpp",
48e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/interaction/interprocess/ipc_msg_adapter.cpp",
49e0e9324cSopenharmony_ci    "interprocess_unit_test.cpp",
50e0e9324cSopenharmony_ci  ]
51e0e9324cSopenharmony_ci
52e0e9324cSopenharmony_ci  cflags = [
53e0e9324cSopenharmony_ci    "-Wall",
54e0e9324cSopenharmony_ci    "-fno-rtti",
55e0e9324cSopenharmony_ci    "-fno-exceptions",
56e0e9324cSopenharmony_ci    "-fno-common",
57e0e9324cSopenharmony_ci    "-fstack-protector-strong",
58e0e9324cSopenharmony_ci    "-Wshadow",
59e0e9324cSopenharmony_ci    "-FPIC",
60e0e9324cSopenharmony_ci    "-FS",
61e0e9324cSopenharmony_ci    "-O2",
62e0e9324cSopenharmony_ci    "-D_FORTIFY_SOURCE=2",
63e0e9324cSopenharmony_ci    "-fvisibility=hidden",
64e0e9324cSopenharmony_ci    "-Wformat=2",
65e0e9324cSopenharmony_ci    "-Wdate-time",
66e0e9324cSopenharmony_ci    "-Wmissing-field-initializers",
67e0e9324cSopenharmony_ci    "-Werror",
68e0e9324cSopenharmony_ci    "-Wextra",
69e0e9324cSopenharmony_ci    "-Wimplicit-fallthrough",
70e0e9324cSopenharmony_ci    "-Wsign-compare",
71e0e9324cSopenharmony_ci    "-Wno-unused-parameter",
72e0e9324cSopenharmony_ci    "-Wno-deprecated-declarations",
73e0e9324cSopenharmony_ci    "-Dprivate=public",
74e0e9324cSopenharmony_ci    "-Dprotected=public",
75e0e9324cSopenharmony_ci    "-Wno-c++20-extensions",
76e0e9324cSopenharmony_ci  ]
77e0e9324cSopenharmony_ci
78e0e9324cSopenharmony_ci  deps = [
79e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services:sharing_service",
80e0e9324cSopenharmony_ci    "//third_party/googletest:gtest_main",
81e0e9324cSopenharmony_ci  ]
82e0e9324cSopenharmony_ci
83e0e9324cSopenharmony_ci  external_deps = [
84e0e9324cSopenharmony_ci    "ability_base:base",
85e0e9324cSopenharmony_ci    "ability_base:want",
86e0e9324cSopenharmony_ci    "ability_runtime:ability_manager",
87e0e9324cSopenharmony_ci    "access_token:libaccesstoken_sdk",
88e0e9324cSopenharmony_ci    "access_token:libnativetoken",
89e0e9324cSopenharmony_ci    "access_token:libtoken_setproc",
90e0e9324cSopenharmony_ci    "c_utils:utils",
91e0e9324cSopenharmony_ci    "c_utils:utilsbase",
92e0e9324cSopenharmony_ci    "device_manager:devicemanagersdk",
93e0e9324cSopenharmony_ci    "graphic_surface:surface",
94e0e9324cSopenharmony_ci    "hilog:libhilog",
95e0e9324cSopenharmony_ci    "ipc:ipc_core",
96e0e9324cSopenharmony_ci    "kv_store:distributeddata_inner",
97e0e9324cSopenharmony_ci    "safwk:system_ability_fwk",
98e0e9324cSopenharmony_ci    "samgr:samgr_proxy",
99e0e9324cSopenharmony_ci    "wifi:wifi_sdk",
100e0e9324cSopenharmony_ci  ]
101e0e9324cSopenharmony_ci}
102