12e147c35Sopenharmony_ci# Copyright (C) 2023-2023 Huawei Device Co., Ltd.
22e147c35Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
32e147c35Sopenharmony_ci# you may not use this file except in compliance with the License.
42e147c35Sopenharmony_ci# You may obtain a copy of the License at
52e147c35Sopenharmony_ci#
62e147c35Sopenharmony_ci#      http://www.apache.org/licenses/LICENSE-2.0
72e147c35Sopenharmony_ci#
82e147c35Sopenharmony_ci#  Unless required by applicable law or agreed to in writing, software
92e147c35Sopenharmony_ci#  distributed under the License is distributed on an "AS IS" BASIS,
102e147c35Sopenharmony_ci#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112e147c35Sopenharmony_ci#  See the License for the specific language governing permissions and
122e147c35Sopenharmony_ci#  limitations under the License.
132e147c35Sopenharmony_ciimport("//foundation/CastEngine/castengine_cast_framework/cast_engine.gni")
142e147c35Sopenharmony_ci
152e147c35Sopenharmony_ciconfig("cast_config") {
162e147c35Sopenharmony_ci  include_dirs = [
172e147c35Sopenharmony_ci    "include",
182e147c35Sopenharmony_ci    "${cast_engine_interfaces}/inner_api:cast_interfaces_config"
192e147c35Sopenharmony_ci  ]
202e147c35Sopenharmony_ci}
212e147c35Sopenharmony_ci
222e147c35Sopenharmony_ciohos_shared_library("cast") {
232e147c35Sopenharmony_ci  sources = [
242e147c35Sopenharmony_ci    "src/napi_cast_session.cpp",
252e147c35Sopenharmony_ci    "src/napi_cast_session_listener.cpp",
262e147c35Sopenharmony_ci    "src/napi_cast_session_manager.cpp",
272e147c35Sopenharmony_ci    "src/napi_cast_session_manager_listener.cpp",
282e147c35Sopenharmony_ci    "src/napi_castengine_utils.cpp",
292e147c35Sopenharmony_ci    "src/native_module.cpp",
302e147c35Sopenharmony_ci    "src/napi_mirror_player.cpp",
312e147c35Sopenharmony_ci    "src/napi_stream_player.cpp",
322e147c35Sopenharmony_ci    "src/napi_stream_player_listener.cpp",
332e147c35Sopenharmony_ci    "src/napi_callback.cpp",
342e147c35Sopenharmony_ci    "src/napi_async_work.cpp",
352e147c35Sopenharmony_ci    "src/napi_castengine_enum.cpp"
362e147c35Sopenharmony_ci  ]
372e147c35Sopenharmony_ci
382e147c35Sopenharmony_ci  configs = [
392e147c35Sopenharmony_ci    ":cast_config",
402e147c35Sopenharmony_ci    "${cast_engine_root}:cast_engine_default_config"
412e147c35Sopenharmony_ci  ]
422e147c35Sopenharmony_ci
432e147c35Sopenharmony_ci  deps = [
442e147c35Sopenharmony_ci    "${cast_engine_common}:cast_engine_common_sources",
452e147c35Sopenharmony_ci    "${cast_engine_interfaces}/inner_api:cast_engine_client",
462e147c35Sopenharmony_ci  ]
472e147c35Sopenharmony_ci
482e147c35Sopenharmony_ci  external_deps = [
492e147c35Sopenharmony_ci    "hilog:libhilog",
502e147c35Sopenharmony_ci    "ipc:ipc_core",
512e147c35Sopenharmony_ci    "napi:ace_napi",
522e147c35Sopenharmony_ci    "image_framework:image",
532e147c35Sopenharmony_ci    "image_framework:image_native",
542e147c35Sopenharmony_ci  ]
552e147c35Sopenharmony_ci
562e147c35Sopenharmony_ci  relative_install_dir = "module"
572e147c35Sopenharmony_ci  subsystem_name = "castplus"
582e147c35Sopenharmony_ci  part_name = "cast_engine"
592e147c35Sopenharmony_ci  sanitize = {
602e147c35Sopenharmony_ci      cfi = true
612e147c35Sopenharmony_ci      cfi_cross_dso = true
622e147c35Sopenharmony_ci      debug = false
632e147c35Sopenharmony_ci  }
642e147c35Sopenharmony_ci  branch_protector_ret = "pac_ret"
652e147c35Sopenharmony_ci}
66