1e0e9324cSopenharmony_ci# Copyright (c) 2023 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("//foundation/CastEngine/castengine_wifi_display/config.gni")
16e0e9324cSopenharmony_ci
17e0e9324cSopenharmony_ciconfig("sharing_wfd_demo_config") {
18e0e9324cSopenharmony_ci  include_dirs = [
19e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/interfaces/innerkits/native/wfd/include",
20e0e9324cSopenharmony_ci    "$SHARING_ROOT_DIR/services/extend/magic_enum",
21e0e9324cSopenharmony_ci    "//foundation/CastEngine/castengine_wifi_display/services",
22e0e9324cSopenharmony_ci    "//foundation/window/window_manager/interfaces/innerkits/wm",
23e0e9324cSopenharmony_ci    "//foundation/graphic/graphic_2d/interfaces/inner_api",
24e0e9324cSopenharmony_ci  ]
25e0e9324cSopenharmony_ci}
26e0e9324cSopenharmony_ci
27e0e9324cSopenharmony_ciohos_executable("sharing_wfd_demo") {
28e0e9324cSopenharmony_ci  sanitize = {
29e0e9324cSopenharmony_ci    cfi = true
30e0e9324cSopenharmony_ci    cfi_cross_dso = true
31e0e9324cSopenharmony_ci    debug = false
32e0e9324cSopenharmony_ci  }
33e0e9324cSopenharmony_ci
34e0e9324cSopenharmony_ci  configs = [
35e0e9324cSopenharmony_ci    ":sharing_wfd_demo_config",
36e0e9324cSopenharmony_ci    # "$SHARING_ROOT_DIR/services/windowmgr:window_external_include",
37e0e9324cSopenharmony_ci  ]
38e0e9324cSopenharmony_ci
39e0e9324cSopenharmony_ci  cflags = [
40e0e9324cSopenharmony_ci    "-Wall",
41e0e9324cSopenharmony_ci    "-fno-rtti",
42e0e9324cSopenharmony_ci    "-fno-exceptions",
43e0e9324cSopenharmony_ci    "-fno-common",
44e0e9324cSopenharmony_ci    "-fstack-protector-strong",
45e0e9324cSopenharmony_ci    "-Wshadow",
46e0e9324cSopenharmony_ci    "-FPIC",
47e0e9324cSopenharmony_ci    "-FS",
48e0e9324cSopenharmony_ci    "-O2",
49e0e9324cSopenharmony_ci    "-D_FORTIFY_SOURCE=2",
50e0e9324cSopenharmony_ci    "-fvisibility=hidden",
51e0e9324cSopenharmony_ci    "-Wformat=2",
52e0e9324cSopenharmony_ci    "-Wdate-time",
53e0e9324cSopenharmony_ci    "-Werror",
54e0e9324cSopenharmony_ci    "-Wextra",
55e0e9324cSopenharmony_ci    "-Wimplicit-fallthrough",
56e0e9324cSopenharmony_ci    "-Wsign-compare",
57e0e9324cSopenharmony_ci    "-Wno-unused-parameter",
58e0e9324cSopenharmony_ci    "-Wno-deprecated-declarations",
59e0e9324cSopenharmony_ci  ]
60e0e9324cSopenharmony_ci
61e0e9324cSopenharmony_ci  cflags_cc = cflags
62e0e9324cSopenharmony_ci  cflags_cc += [ "-std=c++17" ]
63e0e9324cSopenharmony_ci
64e0e9324cSopenharmony_ci  sources = [ "wfd_demo.cpp" ]
65e0e9324cSopenharmony_ci
66e0e9324cSopenharmony_ci  deps =
67e0e9324cSopenharmony_ci      [ "$SHARING_ROOT_DIR/interfaces/innerkits/native/wfd:sharingwfd_client" ]
68e0e9324cSopenharmony_ci
69e0e9324cSopenharmony_ci  external_deps = [
70e0e9324cSopenharmony_ci    "c_utils:utils",
71e0e9324cSopenharmony_ci    "graphic_2d:libgraphic_utils",
72e0e9324cSopenharmony_ci    "graphic_2d:librender_service_client",
73e0e9324cSopenharmony_ci    "graphic_surface:surface",
74e0e9324cSopenharmony_ci    "graphic_surface:sync_fence",
75e0e9324cSopenharmony_ci    "hilog:libhilog",
76e0e9324cSopenharmony_ci    "ipc:ipc_core",
77e0e9324cSopenharmony_ci    "window_manager:libwm",
78e0e9324cSopenharmony_ci  ]
79e0e9324cSopenharmony_ci
80e0e9324cSopenharmony_ci  relative_install_dir = "sharing_demo"
81e0e9324cSopenharmony_ci
82e0e9324cSopenharmony_ci  subsystem_name = "castplus"
83e0e9324cSopenharmony_ci  part_name = "sharing_framework"
84e0e9324cSopenharmony_ci}
85