• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 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/image_framework/ide/image_decode_config.gni")
16
17ohos_shared_library("webpplugin") {
18  if (!use_clang_android && !use_clang_ios) {
19    sanitize = {
20      cfi = true
21      debug = false
22    }
23  }
24  sources = [
25    "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/src/plugin_export.cpp",
26    "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/src/webp_decoder.cpp",
27    "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/src/webp_encoder.cpp",
28  ]
29
30  include_dirs = [
31    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
32    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/include",
33    "//foundation/multimedia/utils/include",
34    "//foundation/multimedia/image_framework/plugins/manager/include",
35    "//foundation/multimedia/image_framework/plugins/manager/include/image",
36    "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase",
37    "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/include",
38    "//foundation/multimedia/image_framework/interfaces/innerkits/include",
39    "//third_party/flutter/skia/third_party/externals/libwebp/src",
40    "//third_party/flutter/skia/include/core",
41    "//third_party/flutter/skia/include/encode",
42    "//third_party/flutter/skia",
43    "//third_party/flutter/skia/src/ports/skia_ohos",
44    "//third_party/flutter/skia/src/ports",
45    "//third_party/flutter/skia/src/images",
46    "//third_party/expat/lib",
47    "//third_party/flutter/skia/include/private",
48    "//third_party/flutter/skia/third_party/externals/freetype/include/freetype",
49  ]
50  if (use_mingw_win) {
51    defines = image_decode_windows_defines
52    include_dirs +=
53        [ "//foundation/multimedia/image_framework/mock/native/include" ]
54
55    deps = [
56      "${asdk_dir}/static_library/${target_os}_${target_cpu}:libwebp-image_static",
57      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
58    ]
59  } else if (use_clang_ios) {
60    defines = image_decode_ios_defines
61    include_dirs += [
62      "//commonlibrary/c_utils/base/include",
63      "//foundation/multimedia/image_framework/mock/native/include",
64    ]
65
66    deps = [
67      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
68      "//foundation/multimedia/image_framework/interfaces/innerkits:image_native",
69      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
70      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
71      "//third_party/flutter/build/skia:ace_skia_ios",
72    ]
73  } else if (use_clang_android) {
74    defines = image_decode_android_defines
75    include_dirs += [
76      "//commonlibrary/c_utils/base/include",
77      "//foundation/multimedia/image_framework/mock/native/include",
78    ]
79
80    deps = [
81      "//commonlibrary/c_utils/base:utils",
82      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
83      "//foundation/multimedia/image_framework/interfaces/innerkits:image_native",
84      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
85      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
86      "//third_party/flutter/build/skia:ace_skia_android",
87    ]
88  } else {
89    defines = [ "DUAL_ADAPTER" ]
90    DUAL_ADAPTER = true
91    include_dirs += [ "//commonlibrary/c_utils/base/include" ]
92
93    deps = [
94      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
95      "//foundation/multimedia/image_framework/interfaces/innerkits:image_native",
96      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
97      "//third_party/flutter/build/skia:ace_skia_ohos",
98    ]
99
100    if (DUAL_ADAPTER) {
101    }
102
103    external_deps = [ "c_utils:utils" ]
104  }
105
106  part_name = "multimedia_image_framework"
107
108  subsystem_name = "multimedia"
109}
110
111ohos_prebuilt_etc("webppluginmetadata") {
112  source = "webpplugin.pluginmeta"
113  relative_install_dir = "multimediaplugin/image"
114  subsystem_name = "multimedia"
115  part_name = "multimedia_image_framework"
116}
117