18d6344f9Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
28d6344f9Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
38d6344f9Sopenharmony_ci# you may not use this file except in compliance with the License.
48d6344f9Sopenharmony_ci# You may obtain a copy of the License at
58d6344f9Sopenharmony_ci#
68d6344f9Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
78d6344f9Sopenharmony_ci#
88d6344f9Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
98d6344f9Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
108d6344f9Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
118d6344f9Sopenharmony_ci# See the License for the specific language governing permissions and
128d6344f9Sopenharmony_ci# limitations under the License.
138d6344f9Sopenharmony_ci
148d6344f9Sopenharmony_ciimport("//build/ohos.gni")
158d6344f9Sopenharmony_ciimport("//device/board/${product_company}/${product_name}/device.gni")
168d6344f9Sopenharmony_ciimport("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
178d6344f9Sopenharmony_ciimport("//drivers/peripheral/camera/camera.gni")
188d6344f9Sopenharmony_ci
198d6344f9Sopenharmony_ciconfig("ohos_camera_demo_config") {
208d6344f9Sopenharmony_ci  visibility = [ ":*" ]
218d6344f9Sopenharmony_ci  cflags_cc = [
228d6344f9Sopenharmony_ci    "-Wno-error",
238d6344f9Sopenharmony_ci    "-std=c++17",
248d6344f9Sopenharmony_ci  ]
258d6344f9Sopenharmony_ci}
268d6344f9Sopenharmony_ci
278d6344f9Sopenharmony_ciohos_executable("ohos_camera_demo") {
288d6344f9Sopenharmony_ci  install_enable = false
298d6344f9Sopenharmony_ci  sources = [
308d6344f9Sopenharmony_ci    "$camera_path/../../test/demo/demo_main.cpp",
318d6344f9Sopenharmony_ci    "$camera_path/../../test/demo/ohos_camera_demo.cpp",
328d6344f9Sopenharmony_ci    "$camera_path/../../test/demo/stream_customer.cpp",
338d6344f9Sopenharmony_ci  ]
348d6344f9Sopenharmony_ci
358d6344f9Sopenharmony_ci  include_dirs = [
368d6344f9Sopenharmony_ci    "$board_camera_path/demo/include",
378d6344f9Sopenharmony_ci    "$camera_path/../../test/demo/include",
388d6344f9Sopenharmony_ci    "$camera_path/../../interfaces/include",
398d6344f9Sopenharmony_ci    "$camera_path/../../interfaces/hdi_ipc",
408d6344f9Sopenharmony_ci    "$camera_path/../../interfaces/hdi_ipc/utils/include",
418d6344f9Sopenharmony_ci    "$camera_path/../../test/common/callback/include",
428d6344f9Sopenharmony_ci    "$camera_path/include",
438d6344f9Sopenharmony_ci    "$camera_path/../v4l2",
448d6344f9Sopenharmony_ci    "$camera_path/../v4l2/include",
458d6344f9Sopenharmony_ci    "$camera_path/../v4l2/include/camera_host",
468d6344f9Sopenharmony_ci    "$camera_path/../v4l2/include/camera_device",
478d6344f9Sopenharmony_ci    "$camera_path/../v4l2/include/stream_operator",
488d6344f9Sopenharmony_ci    "$camera_path/../v4l2/include/offline_stream_operator",
498d6344f9Sopenharmony_ci    "$camera_path/device_manager/include/",
508d6344f9Sopenharmony_ci    "$camera_path/device_manager/include/mpi",
518d6344f9Sopenharmony_ci    "$camera_path/utils/event",
528d6344f9Sopenharmony_ci
538d6344f9Sopenharmony_ci    #producer
548d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/utils",
558d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/include",
568d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/host_stream/include",
578d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/nodes/include",
588d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/nodes/src/node_base",
598d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/nodes/src/dummy_node",
608d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
618d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/include",
628d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src",
638d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/builder",
648d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
658d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/parser",
668d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/strategy",
678d6344f9Sopenharmony_ci    "$camera_path/pipeline_core/ipp/include",
688d6344f9Sopenharmony_ci  ]
698d6344f9Sopenharmony_ci
708d6344f9Sopenharmony_ci  deps =
718d6344f9Sopenharmony_ci      [ "$camera_path/../../hdi_service/v1_0:camera_host_service_1.0_static" ]
728d6344f9Sopenharmony_ci
738d6344f9Sopenharmony_ci  if (is_standard_system) {
748d6344f9Sopenharmony_ci    external_deps = [
758d6344f9Sopenharmony_ci      "c_utils:utils",
768d6344f9Sopenharmony_ci      "graphic_surface:surface",
778d6344f9Sopenharmony_ci      "hdf_core:libhdf_host",
788d6344f9Sopenharmony_ci      "hdf_core:libhdf_ipc_adapter",
798d6344f9Sopenharmony_ci      "hdf_core:libhdf_utils",
808d6344f9Sopenharmony_ci      "hdf_core:libhdi",
818d6344f9Sopenharmony_ci      "hilog:libhilog",
828d6344f9Sopenharmony_ci      "samgr:samgr_proxy",
838d6344f9Sopenharmony_ci    ]
848d6344f9Sopenharmony_ci  } else {
858d6344f9Sopenharmony_ci    external_deps = [ "hilog:libhilog" ]
868d6344f9Sopenharmony_ci  }
878d6344f9Sopenharmony_ci
888d6344f9Sopenharmony_ci  external_deps += [
898d6344f9Sopenharmony_ci    "drivers_interface_camera:libcamera_proxy_1.0",
908d6344f9Sopenharmony_ci    "drivers_interface_camera:metadata",
918d6344f9Sopenharmony_ci    "drivers_interface_display:libdisplay_composer_proxy_1.0",
928d6344f9Sopenharmony_ci    "ipc:ipc_single",
938d6344f9Sopenharmony_ci    "samgr:samgr_proxy",
948d6344f9Sopenharmony_ci  ]
958d6344f9Sopenharmony_ci
968d6344f9Sopenharmony_ci  public_configs = [ ":ohos_camera_demo_config" ]
978d6344f9Sopenharmony_ci  install_enable = false
988d6344f9Sopenharmony_ci  install_images = [ chipset_base_dir ]
998d6344f9Sopenharmony_ci  subsystem_name = "device_rk3588"
1008d6344f9Sopenharmony_ci  part_name = "device_rk3588"
1018d6344f9Sopenharmony_ci}
102