• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2022 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("//foundation/multimedia/media_library/media_library.gni")
16
17MEDIA_LIB_THUMBNAIL_BASE_DIR = "${MEDIA_LIB_SERVICES_DIR}/media_thumbnail"
18
19ohos_shared_library("medialibrary_thumbnail") {
20  install_enable = true
21
22  sources = [
23    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/default_thumbnail_helper.cpp",
24    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/ithumbnail_helper.cpp",
25    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/lcd_thumbnail_helper.cpp",
26    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_aging_helper.cpp",
27    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_datashare_bridge.cpp",
28    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_generate_helper.cpp",
29    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_helper_factory.cpp",
30    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_service.cpp",
31    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_uri_utils.cpp",
32    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/src/thumbnail_utils.cpp",
33  ]
34
35  cflags = [ "-fPIC" ]
36  cflags += [ "-Wall" ]
37
38  if (target_cpu == "arm") {
39    cflags += [ "-DBINDER_IPC_32BIT" ]
40  }
41
42  cflags_cc = cflags
43  include_dirs = [
44    "//base/hiviewdfx/hilog/interfaces/native/innerkits/include/hilog",
45    "${MEDIA_LIB_THUMBNAIL_BASE_DIR}/include",
46    "${MEDIA_LIB_COMMON_UTILS_DIR}/include",
47    "${MEDIA_LIB_BASE_DIR}/interfaces/inner_api/media_library_helper/include",
48    "${MEDIA_LIB_COMMON_UTILS_DIR}/include",
49    "${MEDIA_LIB_INNERKITS_DIR}/media_library_helper/include",
50    "${MEDIA_LIB_SERVICES_DIR}/media_async_worker/include",
51    "//foundation/ability/ability_runtime/frameworks/kits/appkit/native/ability_runtime/context",
52    "//foundation/distributeddatamgr/appdatamgr/interfaces/innerkits/native_rdb/include",
53    "//foundation/distributeddatamgr/appdatamgr/interfaces/innerkits/native_appdatafwk/include",
54    "//foundation/distributeddatamgr/distributeddatamgr/interfaces/innerkits/distributeddata/include",
55    "//foundation/distributeddatamgr/distributeddatamgr/frameworks/innerkitsimpl/rdb/include",
56    "//foundation/multimedia/image_standard/interfaces/innerkits/include/",
57    "//foundation/multimedia/player_framework/interfaces/innerkits/native/media/include/",
58  ]
59
60  deps = [
61    "${ABILITY_RUNTIME_INNER_API_PATH}/dataobs_manager:dataobs_manager",
62    "${ABILITY_RUNTIME_INNER_API_PATH}/runtime:runtime",
63    "${ABILITY_RUNTIME_PATH}/frameworks/native/ability/native:abilitykit_native",
64    "${ABILITY_RUNTIME_PATH}/frameworks/native/appkit:app_context",
65    "${MEDIA_LIB_COMMON_UTILS_DIR}:medialibrary_common_utils",
66    "${MEDIA_LIB_INNERKITS_DIR}/media_library_helper:media_library",
67    "${MEDIA_LIB_SERVICES_DIR}/media_async_worker:medialibrary_async_worker",
68    "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog",
69    "//foundation/distributedhardware/device_manager/interfaces/inner_kits/native_cpp:devicemanagersdk",
70    "//foundation/multimedia/player_framework/services/utils:media_service_utils",
71  ]
72
73  external_deps = [
74    "ability_base:want",
75    "ability_base:zuri",
76    "ability_runtime:ability_manager",
77    "c_utils:utils",
78    "data_share:datashare_common",
79    "data_share:datashare_consumer",
80    "hitrace_native:hitrace_meter",
81    "init:libbegetutil",
82    "ipc:ipc_core",
83    "multimedia_image_framework:image_native",
84    "multimedia_player_framework:media_client",
85    "relational_store:native_rdb",
86    "safwk:system_ability_fwk",
87    "samgr:samgr_proxy",
88    "window_manager:libdm",
89  ]
90
91  sanitize = {
92    cfi = true
93    debug = false
94  }
95
96  part_name = "media_library"
97  subsystem_name = "multimedia"
98}
99