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