1# Copyright (c) 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("../../../../windowmanager_aafwk.gni")
16
17config("display_config") {
18  visibility = [ ":*" ]
19
20  include_dirs = [
21    ".",
22    "../../../../utils/include",
23  ]
24}
25
26## Build cj_display_ffi.so {{{
27ohos_shared_library("cj_display_ffi") {
28  branch_protector_ret = "pac_ret"
29  sanitize = {
30    cfi = true
31    cfi_cross_dso = true
32    debug = false
33  }
34  configs = [
35    ":display_config",
36    "../../../../resources/config/build:coverage_flags",
37  ]
38  if (!build_ohos_sdk) {
39    sources = [
40      "cj_display_impl.cpp",
41      "cj_display_manager.cpp",
42      "display_ffi.cpp",
43    ]
44    deps = [
45      "../../../../dm:libdm",
46      "../../../../utils:libwmutil",
47      "../../../../utils:libwmutil_base",
48    ]
49    external_deps = [
50      "ability_runtime:runtime",
51      "bounds_checking_function:libsec_shared",
52      "c_utils:utils",
53      "hilog:libhilog",
54      "hitrace:hitrace_meter",
55      "napi:ace_napi",
56      "napi:cj_bind_ffi",
57      "napi:cj_bind_native",
58    ]
59  } else {
60    defines += [ "PREVIEWER" ]
61    sources = [ "display_runtime_mock.cpp" ]
62    external_deps = [ "napi:cj_bind_ffi" ]
63  }
64  innerapi_tags = [ "platformsdk" ]
65  part_name = "window_manager"
66  subsystem_name = "window"
67}
68## Build cj_display_ffi.so }}}
69