• 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.
13import("//build/ohos.gni")
14import("//build/ohos/ace/ace.gni")
15import("//foundation/distributeddatamgr/relational_store/relational_store.gni")
16
17ohos_copy("relational_store_declaration") {
18  sources = [ "./api" ]
19  outputs = [ target_out_dir + "/$target_name/" ]
20  module_source_dir = target_out_dir + "/$target_name"
21  module_install_name = ""
22}
23
24ohos_shared_library("napi_rdb") {
25  sources = [
26    "../common/src/js_df_manager.cpp",
27    "../common/src/js_scope.cpp",
28    "../common/src/js_utils.cpp",
29    "../common/src/js_uv_queue.cpp",
30    "src/napi_async_call.cpp",
31    "src/napi_rdb_const_properties.cpp",
32    "src/napi_rdb_js_utils.cpp",
33    "src/napi_rdb_predicates.cpp",
34    "src/napi_rdb_store.cpp",
35    "src/napi_rdb_store_helper.cpp",
36    "src/napi_result_set.cpp",
37    "src/napi_values_bucket.cpp",
38  ]
39
40  if (is_mingw || is_mac) {
41    include_dirs = [
42      "mock/include",
43      "${relational_store_common_path}/include",
44      "${relational_store_js_common_path}/mock/include",
45      "${relational_store_napi_path}/rdb/mock/include",
46      "//commonlibrary/c_utils/base/include",
47      "include",
48      "${relational_store_js_common_path}/include",
49    ]
50    cflags_cc = [
51      "-std=c++17",
52      "-stdlib=libc++",
53    ]
54    if (is_mac) {
55      buildos = "mac"
56      defines = [
57        "MAC_PLATFORM",
58        "CROSS_PLATFORM",
59      ]
60    } else {
61      buildos = "windows"
62      defines = [
63        "WINDOWS_PLATFORM",
64        "CROSS_PLATFORM",
65      ]
66    }
67    sources += [ "${relational_store_js_common_path}/mock/src/js_ability.cpp" ]
68    deps = [
69      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_${buildos}",
70      "//foundation/arkui/napi:ace_napi",
71      "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb",
72    ]
73
74    external_deps = [
75      "bounds_checking_function:libsec_static",
76      "kv_store:datamgr_common",
77    ]
78  } else {
79    include_dirs = [
80      "include",
81      "${relational_store_common_path}/include",
82      "${relational_store_js_common_path}/include",
83      "${relational_store_napi_path}/rdb/include",
84    ]
85    defines = [ "SQLITE_DISTRIBUTE_RELATIONAL" ]
86    sources += [
87      "${relational_store_js_common_path}/src/js_ability.cpp",
88      "src/napi_rdb_store_observer.cpp",
89    ]
90
91    deps = [
92      "${relational_store_innerapi_path}/appdatafwk:native_appdatafwk",
93      "${relational_store_innerapi_path}/rdb:native_rdb",
94      "${relational_store_innerapi_path}/rdb_data_share_adapter:rdb_data_share_adapter",
95    ]
96
97    external_deps = [
98      "ability_runtime:abilitykit_native",
99      "ability_runtime:extensionkit_native",
100      "ability_runtime:napi_base_context",
101      "bounds_checking_function:libsec_shared",
102      "c_utils:utils",
103      "common_event_service:cesfwk_innerkits",
104      "data_share:datashare_common_lite",
105      "eventhandler:libeventhandler",
106      "hilog:libhilog",
107      "hitrace:hitrace_meter",
108      "kv_store:datamgr_common",
109      "napi:ace_napi",
110    ]
111  }
112
113  subsystem_name = "distributeddatamgr"
114  innerapi_tags = [ "platformsdk" ]
115  part_name = "relational_store"
116}
117
118ohos_shared_library("rdb") {
119  sources = [ "src/entry_point.cpp" ]
120
121  if (is_mingw || is_mac) {
122    include_dirs = [
123      "mock/include",
124      "${relational_store_common_path}/include",
125      "${relational_store_js_common_path}/mock/include",
126      "${relational_store_napi_path}/rdb/mock/include",
127      "//commonlibrary/c_utils/base/include",
128      "include",
129      "${relational_store_js_common_path}/include",
130    ]
131    cflags_cc = [
132      "-std=c++17",
133      "-stdlib=libc++",
134    ]
135    if (is_mac) {
136      buildos = "mac"
137      defines = [
138        "MAC_PLATFORM",
139        "CROSS_PLATFORM",
140      ]
141    } else {
142      buildos = "windows"
143      defines = [
144        "WINDOWS_PLATFORM",
145        "CROSS_PLATFORM",
146      ]
147    }
148
149    deps = [
150      ":napi_rdb",
151      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_${buildos}",
152      "//foundation/arkui/napi:ace_napi",
153      "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb",
154    ]
155  } else {
156    include_dirs = [
157      "include",
158      "${relational_store_js_common_path}/include",
159      "${relational_store_napi_path}/rdb/include",
160    ]
161    defines = [ "SQLITE_DISTRIBUTE_RELATIONAL" ]
162
163    deps = [
164      ":napi_rdb",
165      "${relational_store_innerapi_path}/appdatafwk:native_appdatafwk",
166      "${relational_store_innerapi_path}/rdb:native_rdb",
167      "${relational_store_innerapi_path}/rdb_data_share_adapter:rdb_data_share_adapter",
168    ]
169
170    external_deps = [
171      "ability_runtime:abilitykit_native",
172      "ability_runtime:napi_base_context",
173      "c_utils:utils",
174      "data_share:datashare_common_lite",
175      "hilog:libhilog",
176      "hitrace:hitrace_meter",
177      "napi:ace_napi",
178    ]
179  }
180
181  subsystem_name = "distributeddatamgr"
182  part_name = "relational_store"
183  relative_install_dir = "module/data"
184}
185