• 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
24sources = [
25  "../common/src/js_df_manager.cpp",
26  "../common/src/js_scope.cpp",
27  "../common/src/js_sendable_utils.cpp",
28  "../common/src/js_utils.cpp",
29  "../common/src/js_uv_queue.cpp",
30  "src/entry_point.cpp",
31  "src/napi_async_call.cpp",
32  "src/napi_rdb_const_properties.cpp",
33  "src/napi_rdb_context.cpp",
34  "src/napi_rdb_error.cpp",
35  "src/napi_rdb_js_utils.cpp",
36  "src/napi_rdb_log_observer.cpp",
37  "src/napi_rdb_predicates.cpp",
38  "src/napi_rdb_sendable_utils.cpp",
39  "src/napi_rdb_statistics_observer.cpp",
40  "src/napi_rdb_store.cpp",
41  "src/napi_rdb_store_helper.cpp",
42  "src/napi_result_set.cpp",
43  "src/napi_transaction.cpp",
44]
45
46if (is_ohos) {
47  ohos_shared_library("relationalstore") {
48    include_dirs = [
49      "include",
50      "${relational_store_common_path}/include",
51      "${relational_store_js_common_path}/include",
52      "${relational_store_napi_path}/relationalstore/include",
53    ]
54
55    defines = [ "SQLITE_DISTRIBUTE_RELATIONAL" ]
56
57    sources += [
58      "${relational_store_js_common_path}/src/js_ability.cpp",
59      "src/napi_rdb_store_observer.cpp",
60    ]
61
62    deps = [
63      "${relational_store_innerapi_path}/appdatafwk:native_appdatafwk",
64      "${relational_store_innerapi_path}/rdb:native_rdb",
65      "${relational_store_innerapi_path}/rdb_data_share_adapter:rdb_data_share_adapter",
66    ]
67
68    external_deps = [
69      "ability_runtime:abilitykit_native",
70      "ability_runtime:extensionkit_native",
71      "ability_runtime:napi_base_context",
72      "bounds_checking_function:libsec_shared",
73      "c_utils:utils",
74      "common_event_service:cesfwk_innerkits",
75      "data_share:datashare_common_lite",
76      "eventhandler:libeventhandler",
77      "hilog:libhilog",
78      "hitrace:hitrace_meter",
79      "kv_store:datamgr_common",
80      "napi:ace_napi",
81    ]
82
83    subsystem_name = "distributeddatamgr"
84    part_name = "relational_store"
85    relative_install_dir = "module/data"
86  }
87} else if (is_mingw) {
88  ohos_shared_library("relationalstore") {
89    include_dirs = [
90      "mock/include",
91      "${relational_store_common_path}/include",
92      "${relational_store_js_common_path}/mock/include",
93      "${relational_store_napi_path}/relationalstore/mock/include",
94      "//commonlibrary/c_utils/base/include",
95      "include",
96      "${relational_store_js_common_path}/include",
97    ]
98    cflags_cc = [
99      "-std=c++17",
100      "-stdlib=libc++",
101    ]
102
103    buildos = "windows"
104    defines = [
105      "WINDOWS_PLATFORM",
106      "CROSS_PLATFORM",
107      "API_EXPORT=__declspec(dllimport)",
108    ]
109
110    sources += [ "${relational_store_js_common_path}/mock/src/js_ability.cpp" ]
111
112    deps = [
113      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_${buildos}",
114      "//foundation/arkui/napi:ace_napi",
115      "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb",
116    ]
117
118    external_deps = [
119      "bounds_checking_function:libsec_static",
120      "kv_store:datamgr_common",
121    ]
122
123    subsystem_name = "distributeddatamgr"
124    part_name = "relational_store"
125    relative_install_dir = "module/data"
126  }
127} else if (is_mac) {
128  ohos_shared_library("relationalstore") {
129    include_dirs = [
130      "mock/include",
131      "${relational_store_common_path}/include",
132      "${relational_store_js_common_path}/mock/include",
133      "${relational_store_napi_path}/relationalstore/mock/include",
134      "//commonlibrary/c_utils/base/include",
135      "include",
136      "${relational_store_js_common_path}/include",
137    ]
138
139    cflags_cc = [
140      "-std=c++17",
141      "-stdlib=libc++",
142      "-Dnapi_send_event=SendEventMock",
143    ]
144
145    buildos = "mac"
146    defines = [
147      "MAC_PLATFORM",
148      "CROSS_PLATFORM",
149    ]
150
151    sources += [
152      "${relational_store_js_common_path}/mock/src/mock.cpp",
153      "${relational_store_js_common_path}/mock/src/js_ability.cpp",
154    ]
155
156    deps = [
157      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_${buildos}",
158      "//foundation/arkui/napi:ace_napi",
159      "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb",
160    ]
161
162    external_deps = [
163      "bounds_checking_function:libsec_static",
164      "kv_store:datamgr_common",
165    ]
166
167    subsystem_name = "distributeddatamgr"
168    part_name = "relational_store"
169    relative_install_dir = "module/data"
170  }
171} else if (is_android) {
172  ohos_source_set("data_relationalstore") {
173    include_dirs = [
174      "mock/include",
175      "${relational_store_common_path}/include",
176      "${relational_store_js_common_path}/mock/include",
177      "include",
178      "${relational_store_js_common_path}/include",
179      "//base/global/resource_management/interfaces/inner_api/include",
180      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/napi_base_context/include",
181      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/bundle",
182      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/configuration",
183      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/kits/native/appkit",
184    ]
185
186    cflags_cc = [
187      "-std=c++17",
188      "-stdlib=libc++",
189    ]
190
191    defines = [
192      "ANDROID_PLATFORM",
193      "CROSS_PLATFORM",
194    ]
195
196    sources += [
197      "src/napi_rdb_store_observer.cpp",
198      "${relational_store_js_common_path}/mock/src/js_ability.cpp",
199      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/napi_base_context/src/napi_base_context.cpp",
200    ]
201
202    deps = [
203      "${kvstore_path}/common:datamgr_common",
204      "${relational_store_innerapi_path}/rdb:native_rdb",
205      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_android",
206      "//foundation/arkui/ace_engine/adapter/android/build:libarkui_android",
207    ]
208
209    subsystem_name = "distributeddatamgr"
210    part_name = "relational_store"
211  }
212} else if (is_ios) {
213  ohos_source_set("data_relationalstore") {
214    include_dirs = [
215      "mock/include",
216      "${relational_store_common_path}/include",
217      "${relational_store_js_common_path}/mock/include",
218      "include",
219      "${relational_store_js_common_path}/include",
220      "//base/global/resource_management/interfaces/inner_api/include",
221      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/napi_base_context/include",
222      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/bundle",
223      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/inner_api/configuration",
224      "//foundation/appframework/ability/ability_runtime/cross_platform/interfaces/kits/native/appkit",
225    ]
226
227    cflags_cc = [
228      "-std=c++17",
229      "-stdlib=libc++",
230      "-Dnapi_send_event=SendEventMock",
231    ]
232
233    defines = [
234      "IOS_PLATFORM",
235      "CROSS_PLATFORM",
236    ]
237
238    sources += [
239      "${relational_store_js_common_path}/mock/src/mock.cpp",
240      "src/napi_rdb_store_observer.cpp",
241      "${relational_store_js_common_path}/mock/src/js_ability.cpp",
242    ]
243
244    deps = [
245      "${kvstore_path}/common:datamgr_common",
246      "${relational_store_innerapi_path}/rdb:native_rdb",
247      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_ios",
248      "//plugins/libs/napi:napi_ios",
249    ]
250
251    subsystem_name = "distributeddatamgr"
252    part_name = "relational_store"
253  }
254}
255