• 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_utils.cpp",
27    "src/napi_async_call.cpp",
28    "src/napi_rdb_const_properties.cpp",
29    "src/napi_rdb_js_utils.cpp",
30    "src/napi_rdb_predicates.cpp",
31    "src/napi_rdb_store.cpp",
32    "src/napi_rdb_store_helper.cpp",
33    "src/napi_result_set.cpp",
34    "src/napi_uv_queue.cpp",
35    "src/napi_values_bucket.cpp",
36  ]
37
38  if (is_mingw || is_mac) {
39    include_dirs = [
40      "mock/include",
41      "${relational_store_common_path}/include",
42      "${relational_store_js_common_path}/mock/include",
43      "${relational_store_napi_path}/rdb/mock/include",
44      "//commonlibrary/c_utils/base/include",
45      "include",
46      "${relational_store_js_common_path}/include",
47    ]
48    cflags_cc = [
49      "-std=c++17",
50      "-stdlib=libc++",
51    ]
52    if (is_mac) {
53      buildos = "mac"
54      defines = [ "MAC_PLATFORM" ]
55    } else {
56      buildos = "windows"
57      defines = [ "WINDOWS_PLATFORM" ]
58    }
59    sources += [ "${relational_store_js_common_path}/mock/src/js_ability.cpp" ]
60    deps = [
61      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_${buildos}",
62      "//foundation/arkui/napi:ace_napi",
63      "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb",
64    ]
65  } else {
66    include_dirs = [
67      "include",
68      "${datashare_path}/common/include/",
69      "${relational_store_common_path}/include",
70      "${relational_store_js_common_path}/include",
71      "${relational_store_napi_path}/rdb/include",
72    ]
73    defines = [ "SQLITE_DISTRIBUTE_RELATIONAL" ]
74    sources += [
75      "${relational_store_js_common_path}/src/js_ability.cpp",
76      "src/napi_rdb_store_observer.cpp",
77    ]
78
79    deps = [
80      "${relational_store_innerapi_path}/appdatafwk:native_appdatafwk",
81      "${relational_store_innerapi_path}/rdb:native_rdb",
82      "${relational_store_innerapi_path}/rdb_data_share_adapter:rdb_data_share_adapter",
83    ]
84
85    external_deps = [
86      "ability_runtime:abilitykit_native",
87      "ability_runtime:napi_base_context",
88      "c_utils:utils",
89      "common_event_service:cesfwk_innerkits",
90      "hilog:libhilog",
91      "hitrace:hitrace_meter",
92      "napi:ace_napi",
93    ]
94  }
95
96  subsystem_name = "distributeddatamgr"
97  innerapi_tags = [ "platformsdk" ]
98  part_name = "relational_store"
99}
100
101ohos_shared_library("rdb") {
102  sources = [ "src/entry_point.cpp" ]
103
104  if (is_mingw || is_mac) {
105    include_dirs = [
106      "mock/include",
107      "${relational_store_common_path}/include",
108      "${relational_store_js_common_path}/mock/include",
109      "${relational_store_napi_path}/rdb/mock/include",
110      "//commonlibrary/c_utils/base/include",
111      "include",
112      "${relational_store_js_common_path}/include",
113    ]
114    cflags_cc = [
115      "-std=c++17",
116      "-stdlib=libc++",
117    ]
118    if (is_mac) {
119      buildos = "mac"
120      defines = [ "MAC_PLATFORM" ]
121    } else {
122      buildos = "windows"
123      defines = [ "WINDOWS_PLATFORM" ]
124    }
125
126    deps = [
127      ":napi_rdb",
128      "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_${buildos}",
129      "//foundation/arkui/napi:ace_napi",
130      "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb",
131    ]
132  } else {
133    include_dirs = [
134      "include",
135      "${datashare_path}/common/include/",
136      "${relational_store_js_common_path}/include",
137      "${relational_store_napi_path}/rdb/include",
138    ]
139    defines = [ "SQLITE_DISTRIBUTE_RELATIONAL" ]
140
141    deps = [
142      ":napi_rdb",
143      "${relational_store_innerapi_path}/appdatafwk:native_appdatafwk",
144      "${relational_store_innerapi_path}/rdb:native_rdb",
145      "${relational_store_innerapi_path}/rdb_data_share_adapter:rdb_data_share_adapter",
146    ]
147
148    external_deps = [
149      "ability_runtime:abilitykit_native",
150      "ability_runtime:napi_base_context",
151      "c_utils:utils",
152      "hilog:libhilog",
153      "hitrace:hitrace_meter",
154      "napi:ace_napi",
155    ]
156  }
157
158  subsystem_name = "distributeddatamgr"
159  part_name = "relational_store"
160  relative_install_dir = "module/data"
161}
162