11d3ffd26Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
21d3ffd26Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
31d3ffd26Sopenharmony_ci# you may not use this file except in compliance with the License.
41d3ffd26Sopenharmony_ci# You may obtain a copy of the License at
51d3ffd26Sopenharmony_ci#
61d3ffd26Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
71d3ffd26Sopenharmony_ci#
81d3ffd26Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
91d3ffd26Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
101d3ffd26Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
111d3ffd26Sopenharmony_ci# See the License for the specific language governing permissions and
121d3ffd26Sopenharmony_ci# limitations under the License.
131d3ffd26Sopenharmony_ci
141d3ffd26Sopenharmony_ciimport("//build/ohos.gni")
151d3ffd26Sopenharmony_ciimport("./../../../multimedia_camera_framework.gni")
161d3ffd26Sopenharmony_ci
171d3ffd26Sopenharmony_ciconfig("camera_ndk_config") {
181d3ffd26Sopenharmony_ci  include_dirs = [
191d3ffd26Sopenharmony_ci    "${multimedia_camera_framework_path}/interfaces/inner_api/native/camera/include",
201d3ffd26Sopenharmony_ci    "${multimedia_camera_framework_path}/interfaces/kits/native/include/camera",
211d3ffd26Sopenharmony_ci  ]
221d3ffd26Sopenharmony_ci
231d3ffd26Sopenharmony_ci  cflags = [
241d3ffd26Sopenharmony_ci    "-Wall",
251d3ffd26Sopenharmony_ci    "-Werror",
261d3ffd26Sopenharmony_ci  ]
271d3ffd26Sopenharmony_ci}
281d3ffd26Sopenharmony_ci
291d3ffd26Sopenharmony_ciohos_shared_library("ohcamera") {
301d3ffd26Sopenharmony_ci  branch_protector_ret = "pac_ret"
311d3ffd26Sopenharmony_ci  sanitize = {
321d3ffd26Sopenharmony_ci    cfi = true
331d3ffd26Sopenharmony_ci    cfi_cross_dso = true
341d3ffd26Sopenharmony_ci    debug = false
351d3ffd26Sopenharmony_ci  }
361d3ffd26Sopenharmony_ci
371d3ffd26Sopenharmony_ci  include_dirs = [
381d3ffd26Sopenharmony_ci    "${driver_disply_path}/interfaces/include",
391d3ffd26Sopenharmony_ci    "${graphic_surface_path}/surface/include",
401d3ffd26Sopenharmony_ci    "${multimedia_camera_framework_path}/interfaces",
411d3ffd26Sopenharmony_ci    "${multimedia_camera_framework_path}/interfaces/kits/native/include/camera",
421d3ffd26Sopenharmony_ci    "${multimedia_camera_framework_path}/services/camera_service/include",
431d3ffd26Sopenharmony_ci  ]
441d3ffd26Sopenharmony_ci
451d3ffd26Sopenharmony_ci  configs = [ ":camera_ndk_config" ]
461d3ffd26Sopenharmony_ci
471d3ffd26Sopenharmony_ci  sources = [
481d3ffd26Sopenharmony_ci    "./camera_input.cpp",
491d3ffd26Sopenharmony_ci    "./camera_manager.cpp",
501d3ffd26Sopenharmony_ci    "./capture_session.cpp",
511d3ffd26Sopenharmony_ci    "./metadata_output.cpp",
521d3ffd26Sopenharmony_ci    "./photo_output.cpp",
531d3ffd26Sopenharmony_ci    "./preview_output.cpp",
541d3ffd26Sopenharmony_ci    "./video_output.cpp",
551d3ffd26Sopenharmony_ci    "impl/camera_input_impl.cpp",
561d3ffd26Sopenharmony_ci    "impl/camera_manager_impl.cpp",
571d3ffd26Sopenharmony_ci    "impl/camera_util.cpp",
581d3ffd26Sopenharmony_ci    "impl/capture_session_impl.cpp",
591d3ffd26Sopenharmony_ci    "impl/metadata_output_impl.cpp",
601d3ffd26Sopenharmony_ci    "impl/photo_listener_impl.cpp",
611d3ffd26Sopenharmony_ci    "impl/photo_native_impl.cpp",
621d3ffd26Sopenharmony_ci    "impl/photo_output_impl.cpp",
631d3ffd26Sopenharmony_ci    "impl/preview_output_impl.cpp",
641d3ffd26Sopenharmony_ci    "impl/video_output_impl.cpp",
651d3ffd26Sopenharmony_ci    "photo_native.cpp",
661d3ffd26Sopenharmony_ci  ]
671d3ffd26Sopenharmony_ci
681d3ffd26Sopenharmony_ci  deps = [ "${multimedia_camera_framework_path}/frameworks/native/camera:camera_framework" ]
691d3ffd26Sopenharmony_ci
701d3ffd26Sopenharmony_ci  cflags = [ "-Werror" ]
711d3ffd26Sopenharmony_ci
721d3ffd26Sopenharmony_ci  external_deps = [
731d3ffd26Sopenharmony_ci    "c_utils:utils",
741d3ffd26Sopenharmony_ci    "data_share:datashare_common",
751d3ffd26Sopenharmony_ci    "data_share:datashare_consumer",
761d3ffd26Sopenharmony_ci    "graphic_surface:surface",
771d3ffd26Sopenharmony_ci    "hilog:libhilog",
781d3ffd26Sopenharmony_ci    "hisysevent:libhisysevent",
791d3ffd26Sopenharmony_ci    "hitrace:hitrace_meter",
801d3ffd26Sopenharmony_ci    "image_framework:image",
811d3ffd26Sopenharmony_ci    "image_framework:image_native",
821d3ffd26Sopenharmony_ci    "image_framework:image_source",
831d3ffd26Sopenharmony_ci    "image_framework:ohimage",
841d3ffd26Sopenharmony_ci    "ipc:ipc_core",
851d3ffd26Sopenharmony_ci    "media_library:media_library",
861d3ffd26Sopenharmony_ci    "media_library:media_library_asset_manager",
871d3ffd26Sopenharmony_ci    "media_library:media_library_manager",
881d3ffd26Sopenharmony_ci    "media_library:native_media_asset_manager",
891d3ffd26Sopenharmony_ci    "napi:ace_napi",
901d3ffd26Sopenharmony_ci    "resource_management:librawfile",
911d3ffd26Sopenharmony_ci  ]
921d3ffd26Sopenharmony_ci
931d3ffd26Sopenharmony_ci  innerapi_tags = [ "ndk" ]
941d3ffd26Sopenharmony_ci
951d3ffd26Sopenharmony_ci  output_extension = "so"
961d3ffd26Sopenharmony_ci  subsystem_name = "multimedia"
971d3ffd26Sopenharmony_ci  part_name = "camera_framework"
981d3ffd26Sopenharmony_ci}
99