[Adaptation Layer] Added rive-tizen adaptation layer class.
[platform/core/uifw/rive-tizen.git] / meson.build
1 project('rive_tizen',
2         'cpp',
3         default_options : ['cpp_std=c++17'],
4         version : '0.1.0',
5         license : 'MIT')
6
7 run_command('script/install.sh')
8 add_project_arguments('-DRIVE_FILE_DIR="@0@/example/resources/"'.format(meson.current_source_dir()), language : 'cpp')
9
10 thorvg_dep = dependency('thorvg', required : true)
11 dlog_dep = dependency('dlog', required: true)
12
13 install_headers([
14    'submodule/include/artboard.hpp',
15    'submodule/include/backboard.hpp',
16    'submodule/include/command_path.hpp',
17    'submodule/include/component.hpp',
18    'submodule/include/component_dirt.hpp',
19    'submodule/include/container_component.hpp',
20    'submodule/include/core.hpp',
21    'submodule/include/core_context.hpp',
22    'submodule/include/dependency_sorter.hpp',
23    'submodule/include/draw_rules.hpp',
24    'submodule/include/draw_target.hpp',
25    'submodule/include/draw_target_placement.hpp',
26    'submodule/include/drawable.hpp',
27    'submodule/include/file.hpp',
28    'submodule/include/layout.hpp',
29    'submodule/include/node.hpp',
30    'submodule/include/renderer.hpp',
31    'submodule/include/runtime_header.hpp',
32    'submodule/include/status_code.hpp',
33    'submodule/include/transform_component.hpp',
34    'src/renderer/tvg_renderer.hpp'
35 ], subdir: 'rive')
36
37 install_headers([
38    'submodule/include/animation/animation.hpp',
39    'submodule/include/animation/animation_state.hpp',
40    'submodule/include/animation/any_state.hpp',
41    'submodule/include/animation/cubic_interpolator.hpp',
42    'submodule/include/animation/entry_state.hpp',
43    'submodule/include/animation/exit_state.hpp',
44    'submodule/include/animation/keyed_object.hpp',
45    'submodule/include/animation/keyed_property.hpp',
46    'submodule/include/animation/keyframe.hpp',
47    'submodule/include/animation/keyframe_color.hpp',
48    'submodule/include/animation/keyframe_double.hpp',
49    'submodule/include/animation/keyframe_id.hpp',
50    'submodule/include/animation/layer_state.hpp',
51    'submodule/include/animation/linear_animation.hpp',
52    'submodule/include/animation/linear_animation_instance.hpp',
53    'submodule/include/animation/loop.hpp',
54    'submodule/include/animation/state_machine.hpp',
55    'submodule/include/animation/state_machine_bool.hpp',
56    'submodule/include/animation/state_machine_component.hpp',
57    'submodule/include/animation/state_machine_input.hpp',
58    'submodule/include/animation/state_machine_layer.hpp',
59    'submodule/include/animation/state_machine_layer_component.hpp',
60    'submodule/include/animation/state_machine_trigger.hpp',
61    'submodule/include/animation/state_transition.hpp',
62    'submodule/include/animation/transition_bool_condition.hpp',
63    'submodule/include/animation/transition_condition.hpp',
64    'submodule/include/animation/transition_trigger_condition.hpp',
65    'submodule/include/animation/transition_value_condition.hpp'
66 ], subdir: 'rive/animation')
67
68 install_headers([
69    'submodule/include/bones/bone.hpp',
70    'submodule/include/bones/cubic_weight.hpp',
71    'submodule/include/bones/root_bone.hpp',
72    'submodule/include/bones/skeletal_component.hpp',
73    'submodule/include/bones/skin.hpp',
74    'submodule/include/bones/skinnable.hpp',
75    'submodule/include/bones/tendon.hpp',
76    'submodule/include/bones/weight.hpp'
77 ], subdir: 'rive/bones')
78
79 install_headers([
80    'submodule/include/math/aabb.hpp',
81    'submodule/include/math/circle_constant.hpp',
82    'submodule/include/math/color.hpp',
83    'submodule/include/math/mat2d.hpp',
84    'submodule/include/math/transform_components.hpp',
85    'submodule/include/math/vec2d.hpp'
86 ], subdir: 'rive/math')
87
88 install_headers([
89    'submodule/include/core/binary_reader.hpp',
90    'submodule/include/core/reader.h'
91 ], subdir: 'rive/core')
92
93 install_headers([
94    'submodule/include/core/field_types/core_bool_type.hpp',
95    'submodule/include/core/field_types/core_color_type.hpp',
96    'submodule/include/core/field_types/core_double_type.hpp',
97    'submodule/include/core/field_types/core_string_type.hpp',
98    'submodule/include/core/field_types/core_uint_type.hpp'
99 ], subdir: 'rive/core/field_types')
100
101 install_headers([
102    'submodule/include/generated/artboard_base.hpp',
103    'submodule/include/generated/backboard_base.hpp',
104    'submodule/include/generated/component_base.hpp',
105    'submodule/include/generated/container_component_base.hpp',
106    'submodule/include/generated/core_registry.hpp',
107    'submodule/include/generated/draw_rules_base.hpp',
108    'submodule/include/generated/draw_target_base.hpp',
109    'submodule/include/generated/drawable_base.hpp',
110    'submodule/include/generated/node_base.hpp',
111    'submodule/include/generated/transform_component_base.hpp'
112 ], subdir: 'rive/generated')
113
114 install_headers([
115    'submodule/include/generated/animation/animation_base.hpp',
116    'submodule/include/generated/animation/animation_state_base.hpp',
117    'submodule/include/generated/animation/any_state_base.hpp',
118    'submodule/include/generated/animation/cubic_interpolator_base.hpp',
119    'submodule/include/generated/animation/entry_state_base.hpp',
120    'submodule/include/generated/animation/exit_state_base.hpp',
121    'submodule/include/generated/animation/keyed_object_base.hpp',
122    'submodule/include/generated/animation/keyed_property_base.hpp',
123    'submodule/include/generated/animation/keyframe_base.hpp',
124    'submodule/include/generated/animation/keyframe_color_base.hpp',
125    'submodule/include/generated/animation/keyframe_double_base.hpp',
126    'submodule/include/generated/animation/keyframe_id_base.hpp',
127    'submodule/include/generated/animation/layer_state_base.hpp',
128    'submodule/include/generated/animation/linear_animation_base.hpp',
129    'submodule/include/generated/animation/state_machine_base.hpp',
130    'submodule/include/generated/animation/state_machine_bool_base.hpp',
131    'submodule/include/generated/animation/state_machine_component_base.hpp',
132    'submodule/include/generated/animation/state_machine_input_base.hpp',
133    'submodule/include/generated/animation/state_machine_layer_base.hpp',
134    'submodule/include/generated/animation/state_machine_layer_component_base.hpp',
135    'submodule/include/generated/animation/state_machine_trigger_base.hpp',
136    'submodule/include/generated/animation/state_transition_base.hpp',
137    'submodule/include/generated/animation/transition_bool_condition_base.hpp',
138    'submodule/include/generated/animation/transition_condition_base.hpp',
139    'submodule/include/generated/animation/transition_trigger_condition_base.hpp',
140    'submodule/include/generated/animation/transition_value_condition_base.hpp'
141 ], subdir: 'rive/generated/animation')
142
143 install_headers([
144    'submodule/include/generated/bones/bone_base.hpp',
145    'submodule/include/generated/bones/cubic_weight_base.hpp',
146    'submodule/include/generated/bones/root_bone_base.hpp',
147    'submodule/include/generated/bones/skeletal_component_base.hpp',
148    'submodule/include/generated/bones/skin_base.hpp',
149    'submodule/include/generated/bones/tendon_base.hpp',
150    'submodule/include/generated/bones/weight_base.hpp'
151 ], subdir: 'rive/generated/bones')
152
153 install_headers([
154    'submodule/include/generated/shapes/clipping_shape_base.hpp',
155    'submodule/include/generated/shapes/cubic_asymmetric_vertex_base.hpp',
156    'submodule/include/generated/shapes/cubic_detached_vertex_base.hpp',
157    'submodule/include/generated/shapes/cubic_mirrored_vertex_base.hpp',
158    'submodule/include/generated/shapes/cubic_vertex_base.hpp',
159    'submodule/include/generated/shapes/ellipse_base.hpp',
160    'submodule/include/generated/shapes/parametric_path_base.hpp',
161    'submodule/include/generated/shapes/path_base.hpp',
162    'submodule/include/generated/shapes/path_vertex_base.hpp',
163    'submodule/include/generated/shapes/points_path_base.hpp',
164    'submodule/include/generated/shapes/polygon_base.hpp',
165    'submodule/include/generated/shapes/rectangle_base.hpp',
166    'submodule/include/generated/shapes/shape_base.hpp',
167    'submodule/include/generated/shapes/star_base.hpp',
168    'submodule/include/generated/shapes/straight_vertex_base.hpp',
169    'submodule/include/generated/shapes/triangle_base.hpp'
170 ], subdir: 'rive/generated/shapes')
171
172 install_headers([
173    'submodule/include/generated/shapes/paint/fill_base.hpp',
174    'submodule/include/generated/shapes/paint/gradient_stop_base.hpp',
175    'submodule/include/generated/shapes/paint/linear_gradient_base.hpp',
176    'submodule/include/generated/shapes/paint/radial_gradient_base.hpp',
177    'submodule/include/generated/shapes/paint/shape_paint_base.hpp',
178    'submodule/include/generated/shapes/paint/solid_color_base.hpp',
179    'submodule/include/generated/shapes/paint/stroke_base.hpp',
180    'submodule/include/generated/shapes/paint/trim_path_base.hpp',
181 ], subdir: 'rive/generated/shapes/paint')
182
183 install_headers([
184    'submodule/include/shapes/clipping_shape.hpp',
185    'submodule/include/shapes/cubic_asymmetric_vertex.hpp',
186    'submodule/include/shapes/cubic_detached_vertex.hpp',
187    'submodule/include/shapes/cubic_mirrored_vertex.hpp',
188    'submodule/include/shapes/cubic_vertex.hpp',
189    'submodule/include/shapes/ellipse.hpp',
190    'submodule/include/shapes/metrics_path.hpp',
191    'submodule/include/shapes/parametric_path.hpp',
192    'submodule/include/shapes/path.hpp',
193    'submodule/include/shapes/path_space.hpp',
194    'submodule/include/shapes/path_vertex.hpp',
195    'submodule/include/shapes/points_path.hpp',
196    'submodule/include/shapes/polygon.hpp',
197    'submodule/include/shapes/rectangle.hpp',
198    'submodule/include/shapes/shape.hpp',
199    'submodule/include/shapes/shape_paint_container.hpp',
200    'submodule/include/shapes/star.hpp',
201    'submodule/include/shapes/straight_vertex.hpp',
202    'submodule/include/shapes/triangle.hpp'
203 ], subdir: 'rive/shapes')
204
205 install_headers([
206    'submodule/include/shapes/paint/blend_mode.hpp',
207    'submodule/include/shapes/paint/color.hpp',
208    'submodule/include/shapes/paint/fill.hpp',
209    'submodule/include/shapes/paint/gradient_stop.hpp',
210    'submodule/include/shapes/paint/linear_gradient.hpp',
211    'submodule/include/shapes/paint/radial_gradient.hpp',
212    'submodule/include/shapes/paint/shape_paint.hpp',
213    'submodule/include/shapes/paint/shape_paint_mutator.hpp',
214    'submodule/include/shapes/paint/solid_color.hpp',
215    'submodule/include/shapes/paint/stroke.hpp',
216    'submodule/include/shapes/paint/stroke_cap.hpp',
217    'submodule/include/shapes/paint/stroke_effect.hpp',
218    'submodule/include/shapes/paint/stroke_join.hpp',
219    'submodule/include/shapes/paint/trim_path.hpp'
220 ], subdir: 'rive/shapes/paint')
221
222 install_headers([
223    'submodule/include/importers/artboard_importer.hpp',
224    'submodule/include/importers/import_stack.hpp',
225    'submodule/include/importers/keyed_object_importer.hpp',
226    'submodule/include/importers/keyed_property_importer.hpp',
227    'submodule/include/importers/linear_animation_importer.hpp'
228 ], subdir: 'rive/importers')
229
230 rive_cpp_src = [
231    'submodule/src/math/aabb.cpp',
232    'submodule/src/math/vec2d.cpp',
233    'submodule/src/math/mat2d.cpp',
234    'submodule/src/animation/animation_state.cpp',
235    'submodule/src/animation/animation_state_instance.cpp',
236    'submodule/src/animation/blend_animation.cpp',
237    'submodule/src/animation/blend_animation_1d.cpp',
238    'submodule/src/animation/blend_animation_direct.cpp',
239    'submodule/src/animation/blend_state.cpp',
240    'submodule/src/animation/blend_state_1d.cpp',
241    'submodule/src/animation/blend_state_1d_instance.cpp',
242    'submodule/src/animation/blend_state_direct.cpp',
243    'submodule/src/animation/blend_state_direct_instance.cpp',
244    'submodule/src/animation/blend_state_transition.cpp',
245    'submodule/src/animation/cubic_interpolator.cpp',
246    'submodule/src/animation/keyed_object.cpp',
247    'submodule/src/animation/keyed_property.cpp',
248    'submodule/src/animation/keyframe.cpp',
249    'submodule/src/animation/keyframe_color.cpp',
250    'submodule/src/animation/keyframe_double.cpp',
251    'submodule/src/animation/keyframe_id.cpp',
252    'submodule/src/animation/linear_animation.cpp',
253    'submodule/src/animation/linear_animation_instance.cpp',
254    'submodule/src/animation/layer_state.cpp',
255    'submodule/src/animation/state_instance.cpp',
256    'submodule/src/animation/state_machine.cpp',
257    'submodule/src/animation/state_machine_input.cpp',
258    'submodule/src/animation/state_machine_input_instance.cpp',
259    'submodule/src/animation/state_machine_instance.cpp',
260    'submodule/src/animation/state_machine_layer.cpp',
261    'submodule/src/animation/state_transition.cpp',
262    'submodule/src/animation/system_state_instance.cpp',
263    'submodule/src/animation/transition_bool_condition.cpp',
264    'submodule/src/animation/transition_condition.cpp',
265    'submodule/src/animation/transition_number_condition.cpp',
266    'submodule/src/animation/transition_trigger_condition.cpp',
267    'submodule/src/core/binary_reader.cpp',
268    'submodule/src/core/field_types/core_bool_type.cpp',
269    'submodule/src/core/field_types/core_color_type.cpp',
270    'submodule/src/core/field_types/core_double_type.cpp',
271    'submodule/src/core/field_types/core_string_type.cpp',
272    'submodule/src/core/field_types/core_uint_type.cpp',
273    'submodule/src/importers/artboard_importer.cpp',
274    'submodule/src/importers/keyed_object_importer.cpp',
275    'submodule/src/importers/keyed_property_importer.cpp',
276    'submodule/src/importers/layer_state_importer.cpp',
277    'submodule/src/importers/linear_animation_importer.cpp',
278    'submodule/src/importers/state_machine_importer.cpp',
279    'submodule/src/importers/state_machine_layer_importer.cpp',
280    'submodule/src/importers/state_transition_importer.cpp',
281    'submodule/src/shapes/clipping_shape.cpp',
282    'submodule/src/shapes/cubic_mirrored_vertex.cpp',
283    'submodule/src/shapes/metrics_path.cpp',
284    'submodule/src/shapes/path.cpp',
285    'submodule/src/shapes/points_path.cpp',
286    'submodule/src/shapes/shape.cpp',
287    'submodule/src/shapes/straight_vertex.cpp',
288    'submodule/src/shapes/cubic_asymmetric_vertex.cpp',
289    'submodule/src/shapes/cubic_vertex.cpp',
290    'submodule/src/shapes/path_composer.cpp',
291    'submodule/src/shapes/polygon.cpp',
292    'submodule/src/shapes/shape_paint_container.cpp',
293    'submodule/src/shapes/triangle.cpp',
294    'submodule/src/shapes/cubic_detached_vertex.cpp',
295    'submodule/src/shapes/ellipse.cpp',
296    'submodule/src/shapes/parametric_path.cpp',
297    'submodule/src/shapes/path_vertex.cpp',
298    'submodule/src/shapes/rectangle.cpp',
299    'submodule/src/shapes/star.cpp',
300    'submodule/src/shapes/paint/color.cpp',
301    'submodule/src/shapes/paint/fill.cpp',
302    'submodule/src/shapes/paint/gradient_stop.cpp',
303    'submodule/src/shapes/paint/linear_gradient.cpp',
304    'submodule/src/shapes/paint/radial_gradient.cpp',
305    'submodule/src/shapes/paint/shape_paint.cpp',
306    'submodule/src/shapes/paint/shape_paint_mutator.cpp',
307    'submodule/src/shapes/paint/solid_color.cpp',
308    'submodule/src/shapes/paint/stroke.cpp',
309    'submodule/src/shapes/paint/trim_path.cpp',
310    'submodule/src/bones/bone.cpp',
311    'submodule/src/bones/root_bone.cpp',
312    'submodule/src/bones/skin.cpp',
313    'submodule/src/bones/skinnable.cpp',
314    'submodule/src/bones/tendon.cpp',
315    'submodule/src/bones/weight.cpp',
316    'submodule/src/artboard.cpp',
317    'submodule/src/component.cpp',
318    'submodule/src/dependency_sorter.cpp',
319    'submodule/src/draw_rules.cpp',
320    'submodule/src/draw_target.cpp',
321    'submodule/src/drawable.cpp',
322    'submodule/src/file.cpp',
323    'submodule/src/layout.cpp',
324    'submodule/src/node.cpp',
325    'submodule/src/transform_component.cpp',
326    'submodule/src/generated/artboard_base.cpp',
327    'submodule/src/generated/backboard_base.cpp',
328    'submodule/src/generated/draw_rules_base.cpp',
329    'submodule/src/generated/draw_target_base.cpp',
330    'submodule/src/generated/node_base.cpp',
331    'submodule/src/generated/animation/animation_base.cpp',
332    'submodule/src/generated/animation/linear_animation_base.cpp',
333    'submodule/src/generated/animation/animation_state_base.cpp',
334    'submodule/src/generated/animation/state_machine_base.cpp',
335    'submodule/src/generated/animation/any_state_base.cpp',
336    'submodule/src/generated/animation/state_machine_bool_base.cpp',
337    'submodule/src/generated/animation/cubic_interpolator_base.cpp',
338    'submodule/src/generated/animation/state_machine_layer_base.cpp',
339    'submodule/src/generated/animation/entry_state_base.cpp',
340    'submodule/src/generated/animation/state_machine_number_base.cpp',
341    'submodule/src/generated/animation/exit_state_base.cpp',
342    'submodule/src/generated/animation/state_machine_trigger_base.cpp',
343    'submodule/src/generated/animation/keyed_object_base.cpp',
344    'submodule/src/generated/animation/state_transition_base.cpp',
345    'submodule/src/generated/animation/keyed_property_base.cpp',
346    'submodule/src/generated/animation/transition_bool_condition_base.cpp',
347    'submodule/src/generated/animation/keyframe_color_base.cpp',
348    'submodule/src/generated/animation/transition_number_condition_base.cpp',
349    'submodule/src/generated/animation/keyframe_double_base.cpp',
350    'submodule/src/generated/animation/transition_trigger_condition_base.cpp',
351    'submodule/src/generated/animation/keyframe_id_base.cpp',
352    'submodule/src/generated/bones/bone_base.cpp',
353    'submodule/src/generated/bones/cubic_weight_base.cpp',
354    'submodule/src/generated/bones/root_bone_base.cpp',
355    'submodule/src/generated/bones/skin_base.cpp',
356    'submodule/src/generated/bones/tendon_base.cpp',
357    'submodule/src/generated/bones/weight_base.cpp',
358    'submodule/src/generated/shapes/clipping_shape_base.cpp',
359    'submodule/src/generated/shapes/cubic_asymmetric_vertex_base.cpp',
360    'submodule/src/generated/shapes/cubic_detached_vertex_base.cpp',
361    'submodule/src/generated/shapes/cubic_mirrored_vertex_base.cpp',
362    'submodule/src/generated/shapes/ellipse_base.cpp',
363    'submodule/src/generated/shapes/points_path_base.cpp',
364    'submodule/src/generated/shapes/polygon_base.cpp',
365    'submodule/src/generated/shapes/rectangle_base.cpp',
366    'submodule/src/generated/shapes/shape_base.cpp',
367    'submodule/src/generated/shapes/star_base.cpp',
368    'submodule/src/generated/shapes/straight_vertex_base.cpp',
369    'submodule/src/generated/shapes/triangle_base.cpp',
370    'submodule/src/generated/shapes/paint/fill_base.cpp',
371    'submodule/src/generated/shapes/paint/gradient_stop_base.cpp',
372    'submodule/src/generated/shapes/paint/linear_gradient_base.cpp',
373    'submodule/src/generated/shapes/paint/radial_gradient_base.cpp',
374    'submodule/src/generated/shapes/paint/solid_color_base.cpp',
375    'submodule/src/generated/shapes/paint/stroke_base.cpp',
376    'submodule/src/generated/shapes/paint/trim_path_base.cpp',
377 ]
378
379 rive_cpp_inc = include_directories('submodule/include')
380
381 rive_cpp_dep = declare_dependency(
382    include_directories : rive_cpp_inc,
383    sources : rive_cpp_src,
384 )
385
386 headers = [include_directories('inc'), include_directories('submodule/include'), include_directories('src/renderer'), include_directories('src')]
387
388 subdir('inc')
389 subdir('src')
390
391 if get_option('example') == true
392         message('Enable Examples')
393         subdir('example')
394 endif