1# Copyright (C) 2023 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/graphic/graphic_3d/lume/lume_config.gni")
16
17config("lume_metaobject_config") {
18  include_dirs = [
19    "3rdparty/",
20    "src/",
21    "include",
22  ]
23
24  defines = [
25    "__OHOS_PLATFORM__",
26    "CORE3D_PUBLIC=__attribute__((visibility(\"default\")))",
27    "CORE_USE_COMPILER_GENERATED_STATIC_LIST=1",
28    "CORE3D_SHARED_LIBRARY=1",
29    "CORE3D_VALIDATION_ENABLED=0",
30    "CORE3D_TESTS_ENABLED=0",
31    "CORE3D_DEV_ENABLED=${CORE_DEV_ENABLED}",
32    "CORE_STATIC_PLUGIN_HEADER=${CORE_STATIC_PLUGIN_HEADER }",
33  ]
34  cflags = [
35    "-Wall",
36    "-fexceptions",
37    "-Wno-sign-compare",
38    "-Wno-unused-variable",
39    "-Wno-unused-private-field",
40    "-Wno-implicit-fallthrough",
41    "-Wno-reorder",
42    "-Wno-unused-function",
43    "-Wno-tautological-unsigned-zero-compare",
44    "-Wno-ignored-qualifiers",
45    "-Wno-unused-lambda-capture",
46    "-Wno-unused-but-set-variable",
47  ]
48  cflags_cc = [
49    "-Wno-overloaded-virtual",
50    "-Wno-missing-braces",
51  ]
52}
53
54ohos_source_set("lume_metaobject_src") {
55  public_configs = [
56    ":lume_metaobject_config",
57    "${LUME_RENDER_PATH}:lume_render_api",
58    "${LUME_CORE_PATH}:lume_base_api",
59    "${LUME_CORE_PATH}:lume_engine_api",
60    "${LUME_CORE_PATH}:lume_component_help_config",
61    "${LUME_CORE_PATH}:lume_default",
62  ]
63
64  sources = [
65    "src/animation/animation.h",
66    "src/animation/animation_controller.cpp",
67    "src/animation/animation_controller.h",
68    "src/animation/animation_modifier.h",
69    "src/animation/animation_state.cpp",
70    "src/animation/animation_state.h",
71    "src/animation/interpolator.cpp",
72    "src/animation/interpolator.h",
73    "src/animation/intf_animation_internal.h",
74    "src/animation/keyframe_animation.cpp",
75    "src/animation/keyframe_animation.h",
76    "src/animation/modifiers/loop.cpp",
77    "src/animation/modifiers/loop.h",
78    "src/animation/modifiers/reverse.cpp",
79    "src/animation/modifiers/reverse.h",
80    "src/animation/modifiers/speed.cpp",
81    "src/animation/modifiers/speed.h",
82    "src/animation/parallel_animation.cpp",
83    "src/animation/parallel_animation.h",
84    "src/animation/property_animation.cpp",
85    "src/animation/property_animation.h",
86    "src/animation/sequential_animation.cpp",
87    "src/animation/sequential_animation.h",
88    "src/animation/staggered_animation_state.cpp",
89    "src/animation/staggered_animation_state.h",
90    "src/animation/track_animation.cpp",
91    "src/animation/track_animation.h",
92    "src/animation/track_animation_state.cpp",
93    "src/animation/track_animation_state.h",
94    "src/attachment_container.cpp",
95    "src/attachment_container.h",
96    "src/base_object.cpp",
97    "src/base_object.h",
98    "src/call_context.cpp",
99    "src/call_context.h",
100    "src/class_registry.cpp",
101    "src/class_registry.h",
102    "src/connector.cpp",
103    "src/connector.h",
104    "src/container/container.cpp",
105    "src/container/container.h",
106    "src/container/container_base.cpp",
107    "src/container/container_base.h",
108    "src/container/flat_container.cpp",
109    "src/container/flat_container.h",
110    "src/container/object_container.cpp",
111    "src/container/object_container.h",
112    "src/container/object_flat_container.cpp",
113    "src/container/object_flat_container.h",
114    "src/container_observer.cpp",
115    "src/container_observer.h",
116    "src/content_object.cpp",
117    "src/curves/bezier_curve.cpp",
118    "src/curves/bezier_curve.h",
119    "src/curves/easing_curve.cpp",
120    "src/curves/easing_curve.h",
121    "src/engine/engine_input_property_manager.cpp",
122    "src/engine/engine_input_property_manager.h",
123    "src/engine/engine_value.cpp",
124    "src/engine/engine_value.h",
125    "src/engine/engine_value_manager.cpp",
126    "src/engine/engine_value_manager.h",
127    "src/functions.cpp",
128    "src/functions.h",
129    "src/future.cpp",
130    "src/future.h",
131    "src/loaders/class_content_loader.cpp",
132    "src/loaders/class_content_loader.h",
133    "src/loaders/csv_parser.cpp",
134    "src/loaders/csv_parser.h",
135    "src/loaders/csv_string_resource_loader.cpp",
136    "src/loaders/csv_string_resource_loader.h",
137    "src/loaders/json_content_loader.cpp",
138    "src/loaders/json_content_loader.h",
139    "src/manual_clock.cpp",
140    "src/meta_object.cpp",
141    "src/meta_object.h",
142    "src/meta_object_lib.cpp",
143    "src/meta_object_lib.h",
144    "src/metadata.cpp",
145    "src/metadata.h",
146    "src/model/composite_object_provider.cpp",
147    "src/model/composite_object_provider.h",
148    "src/model/container_data_model.cpp",
149    "src/model/container_data_model.h",
150    "src/model/content_loader_object_provider.cpp",
151    "src/model/content_loader_object_provider.h",
152    "src/model/instantiating_object_provider.cpp",
153    "src/model/instantiating_object_provider.h",
154    "src/model/object_provider_base.cpp",
155    "src/model/object_provider_base.h",
156    "src/number.cpp",
157    "src/number.h",
158    "src/object.cpp",
159    "src/object.h",
160    "src/object_context.cpp",
161    "src/object_context.h",
162    "src/object_hierarchy_observer.cpp",
163    "src/object_hierarchy_observer.h",
164    "src/object_registry.cpp",
165    "src/object_registry.h",
166    "src/plugin.cpp",
167    "src/polling_task_queue.cpp",
168    "src/property/bind.cpp",
169    "src/property/bind.h",
170    "src/property/dependencies.cpp",
171    "src/property/dependencies.h",
172    "src/property/property.cpp",
173    "src/property/property.h",
174    "src/property/stack_property.cpp",
175    "src/property/stack_property.h",
176    "src/proxy_object.cpp",
177    "src/proxy_object.h",
178    "src/random.cpp",
179    "src/random.h",
180    "src/ref_uri_util.cpp",
181    "src/ref_uri_util.h",
182    "src/register_anys.cpp",
183    "src/register_default_anims.cpp",
184    "src/register_default_objs.cpp",
185    "src/register_engine_access.cpp",
186    "src/register_entities.cpp",
187    "src/register_value_serializers.cpp",
188    "src/serialization/backend/debug_output.cpp",
189    "src/serialization/backend/debug_output.h",
190    "src/serialization/backend/json_input.cpp",
191    "src/serialization/backend/json_input.h",
192    "src/serialization/backend/json_output.cpp",
193    "src/serialization/backend/json_output.h",
194    "src/serialization/exporter.cpp",
195    "src/serialization/exporter.h",
196    "src/serialization/importer.cpp",
197    "src/serialization/importer.h",
198    "src/serialization/json_exporter.cpp",
199    "src/serialization/json_exporter.h",
200    "src/serialization/json_importer.cpp",
201    "src/serialization/json_importer.h",
202    "src/serialization/metav1_compat.cpp",
203    "src/serialization/metav1_compat.h",
204    "src/startable_object_controller.cpp",
205    "src/startable_object_controller.h",
206    "src/system_clock.cpp",
207    "src/task_queue.h",
208    "src/threaded_task_queue.cpp",
209  ]
210
211  external_deps = [ "c_utils:utils" ]
212  part_name = "graphic_3d"
213  subsystem_name = "graphic"
214}
215
216ohos_static_library("libMetaObject") {
217  public_deps = [ ":lume_metaobject_src" ]
218  output_extension = "so"
219  part_name = "graphic_3d"
220  subsystem_name = "graphic"
221}
222
223ohos_shared_library("libPluginMetaObject") {
224  public_deps = [ ":libMetaObject" ]
225  part_name = "graphic_3d"
226  subsystem_name = "graphic"
227}
228