3 default_options : ['cpp_std=c++17'],
7 run_command('script/install.sh')
8 add_project_arguments('-DRIVE_FILE_DIR="@0@/example/resources/"'.format(meson.current_source_dir()), language : 'cpp')
10 thorvg_dep = dependency('thorvg', required : true)
13 'submodule/include/artboard.hpp',
14 'submodule/include/backboard.hpp',
15 'submodule/include/command_path.hpp',
16 'submodule/include/component.hpp',
17 'submodule/include/component_dirt.hpp',
18 'submodule/include/container_component.hpp',
19 'submodule/include/core.hpp',
20 'submodule/include/core_context.hpp',
21 'submodule/include/dependency_sorter.hpp',
22 'submodule/include/draw_rules.hpp',
23 'submodule/include/draw_target.hpp',
24 'submodule/include/draw_target_placement.hpp',
25 'submodule/include/drawable.hpp',
26 'submodule/include/file.hpp',
27 'submodule/include/layout.hpp',
28 'submodule/include/node.hpp',
29 'submodule/include/renderer.hpp',
30 'submodule/include/runtime_header.hpp',
31 'submodule/include/status_code.hpp',
32 'submodule/include/transform_component.hpp',
33 'src/renderer/tvg_renderer.hpp'
37 'submodule/include/animation/animation.hpp',
38 'submodule/include/animation/animation_state.hpp',
39 'submodule/include/animation/any_state.hpp',
40 'submodule/include/animation/cubic_interpolator.hpp',
41 'submodule/include/animation/entry_state.hpp',
42 'submodule/include/animation/exit_state.hpp',
43 'submodule/include/animation/keyed_object.hpp',
44 'submodule/include/animation/keyed_property.hpp',
45 'submodule/include/animation/keyframe.hpp',
46 'submodule/include/animation/keyframe_color.hpp',
47 'submodule/include/animation/keyframe_double.hpp',
48 'submodule/include/animation/keyframe_id.hpp',
49 'submodule/include/animation/layer_state.hpp',
50 'submodule/include/animation/linear_animation.hpp',
51 'submodule/include/animation/linear_animation_instance.hpp',
52 'submodule/include/animation/loop.hpp',
53 'submodule/include/animation/state_machine.hpp',
54 'submodule/include/animation/state_machine_bool.hpp',
55 'submodule/include/animation/state_machine_component.hpp',
56 'submodule/include/animation/state_machine_double.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_double_condition.hpp',
65 'submodule/include/animation/transition_trigger_condition.hpp',
66 'submodule/include/animation/transition_value_condition.hpp'
67 ], subdir: 'rive/animation')
70 'submodule/include/bones/bone.hpp',
71 'submodule/include/bones/cubic_weight.hpp',
72 'submodule/include/bones/root_bone.hpp',
73 'submodule/include/bones/skeletal_component.hpp',
74 'submodule/include/bones/skin.hpp',
75 'submodule/include/bones/skinnable.hpp',
76 'submodule/include/bones/tendon.hpp',
77 'submodule/include/bones/weight.hpp'
78 ], subdir: 'rive/bones')
81 'submodule/include/math/aabb.hpp',
82 'submodule/include/math/circle_constant.hpp',
83 'submodule/include/math/color.hpp',
84 'submodule/include/math/mat2d.hpp',
85 'submodule/include/math/transform_components.hpp',
86 'submodule/include/math/vec2d.hpp'
87 ], subdir: 'rive/math')
90 'submodule/include/core/binary_reader.hpp',
91 'submodule/include/core/reader.h'
92 ], subdir: 'rive/core')
95 'submodule/include/core/field_types/core_bool_type.hpp',
96 'submodule/include/core/field_types/core_color_type.hpp',
97 'submodule/include/core/field_types/core_double_type.hpp',
98 'submodule/include/core/field_types/core_string_type.hpp',
99 'submodule/include/core/field_types/core_uint_type.hpp'
100 ], subdir: 'rive/core/field_types')
103 'submodule/include/generated/artboard_base.hpp',
104 'submodule/include/generated/backboard_base.hpp',
105 'submodule/include/generated/component_base.hpp',
106 'submodule/include/generated/container_component_base.hpp',
107 'submodule/include/generated/core_registry.hpp',
108 'submodule/include/generated/draw_rules_base.hpp',
109 'submodule/include/generated/draw_target_base.hpp',
110 'submodule/include/generated/drawable_base.hpp',
111 'submodule/include/generated/node_base.hpp',
112 'submodule/include/generated/transform_component_base.hpp'
113 ], subdir: 'rive/generated')
116 'submodule/include/generated/animation/animation_base.hpp',
117 'submodule/include/generated/animation/animation_state_base.hpp',
118 'submodule/include/generated/animation/any_state_base.hpp',
119 'submodule/include/generated/animation/cubic_interpolator_base.hpp',
120 'submodule/include/generated/animation/entry_state_base.hpp',
121 'submodule/include/generated/animation/exit_state_base.hpp',
122 'submodule/include/generated/animation/keyed_object_base.hpp',
123 'submodule/include/generated/animation/keyed_property_base.hpp',
124 'submodule/include/generated/animation/keyframe_base.hpp',
125 'submodule/include/generated/animation/keyframe_color_base.hpp',
126 'submodule/include/generated/animation/keyframe_double_base.hpp',
127 'submodule/include/generated/animation/keyframe_id_base.hpp',
128 'submodule/include/generated/animation/layer_state_base.hpp',
129 'submodule/include/generated/animation/linear_animation_base.hpp',
130 'submodule/include/generated/animation/state_machine_base.hpp',
131 'submodule/include/generated/animation/state_machine_bool_base.hpp',
132 'submodule/include/generated/animation/state_machine_component_base.hpp',
133 'submodule/include/generated/animation/state_machine_double_base.hpp',
134 'submodule/include/generated/animation/state_machine_input_base.hpp',
135 'submodule/include/generated/animation/state_machine_layer_base.hpp',
136 'submodule/include/generated/animation/state_machine_layer_component_base.hpp',
137 'submodule/include/generated/animation/state_machine_trigger_base.hpp',
138 'submodule/include/generated/animation/state_transition_base.hpp',
139 'submodule/include/generated/animation/transition_bool_condition_base.hpp',
140 'submodule/include/generated/animation/transition_condition_base.hpp',
141 'submodule/include/generated/animation/transition_double_condition_base.hpp',
142 'submodule/include/generated/animation/transition_trigger_condition_base.hpp',
143 'submodule/include/generated/animation/transition_value_condition_base.hpp'
144 ], subdir: 'rive/generated/animation')
147 'submodule/include/generated/bones/bone_base.hpp',
148 'submodule/include/generated/bones/cubic_weight_base.hpp',
149 'submodule/include/generated/bones/root_bone_base.hpp',
150 'submodule/include/generated/bones/skeletal_component_base.hpp',
151 'submodule/include/generated/bones/skin_base.hpp',
152 'submodule/include/generated/bones/tendon_base.hpp',
153 'submodule/include/generated/bones/weight_base.hpp'
154 ], subdir: 'rive/generated/bones')
157 'submodule/include/generated/shapes/clipping_shape_base.hpp',
158 'submodule/include/generated/shapes/cubic_asymmetric_vertex_base.hpp',
159 'submodule/include/generated/shapes/cubic_detached_vertex_base.hpp',
160 'submodule/include/generated/shapes/cubic_mirrored_vertex_base.hpp',
161 'submodule/include/generated/shapes/cubic_vertex_base.hpp',
162 'submodule/include/generated/shapes/ellipse_base.hpp',
163 'submodule/include/generated/shapes/parametric_path_base.hpp',
164 'submodule/include/generated/shapes/path_base.hpp',
165 'submodule/include/generated/shapes/path_vertex_base.hpp',
166 'submodule/include/generated/shapes/points_path_base.hpp',
167 'submodule/include/generated/shapes/polygon_base.hpp',
168 'submodule/include/generated/shapes/rectangle_base.hpp',
169 'submodule/include/generated/shapes/shape_base.hpp',
170 'submodule/include/generated/shapes/star_base.hpp',
171 'submodule/include/generated/shapes/straight_vertex_base.hpp',
172 'submodule/include/generated/shapes/triangle_base.hpp'
173 ], subdir: 'rive/generated/shapes')
176 'submodule/include/generated/shapes/paint/fill_base.hpp',
177 'submodule/include/generated/shapes/paint/gradient_stop_base.hpp',
178 'submodule/include/generated/shapes/paint/linear_gradient_base.hpp',
179 'submodule/include/generated/shapes/paint/radial_gradient_base.hpp',
180 'submodule/include/generated/shapes/paint/shape_paint_base.hpp',
181 'submodule/include/generated/shapes/paint/solid_color_base.hpp',
182 'submodule/include/generated/shapes/paint/stroke_base.hpp',
183 'submodule/include/generated/shapes/paint/trim_path_base.hpp',
184 ], subdir: 'rive/generated/shapes/paint')
187 'submodule/include/shapes/clipping_shape.hpp',
188 'submodule/include/shapes/cubic_asymmetric_vertex.hpp',
189 'submodule/include/shapes/cubic_detached_vertex.hpp',
190 'submodule/include/shapes/cubic_mirrored_vertex.hpp',
191 'submodule/include/shapes/cubic_vertex.hpp',
192 'submodule/include/shapes/ellipse.hpp',
193 'submodule/include/shapes/metrics_path.hpp',
194 'submodule/include/shapes/parametric_path.hpp',
195 'submodule/include/shapes/path.hpp',
196 'submodule/include/shapes/path_space.hpp',
197 'submodule/include/shapes/path_vertex.hpp',
198 'submodule/include/shapes/points_path.hpp',
199 'submodule/include/shapes/polygon.hpp',
200 'submodule/include/shapes/rectangle.hpp',
201 'submodule/include/shapes/shape.hpp',
202 'submodule/include/shapes/shape_paint_container.hpp',
203 'submodule/include/shapes/star.hpp',
204 'submodule/include/shapes/straight_vertex.hpp',
205 'submodule/include/shapes/triangle.hpp'
206 ], subdir: 'rive/shapes')
209 'submodule/include/shapes/paint/blend_mode.hpp',
210 'submodule/include/shapes/paint/color.hpp',
211 'submodule/include/shapes/paint/fill.hpp',
212 'submodule/include/shapes/paint/gradient_stop.hpp',
213 'submodule/include/shapes/paint/linear_gradient.hpp',
214 'submodule/include/shapes/paint/radial_gradient.hpp',
215 'submodule/include/shapes/paint/shape_paint.hpp',
216 'submodule/include/shapes/paint/shape_paint_mutator.hpp',
217 'submodule/include/shapes/paint/solid_color.hpp',
218 'submodule/include/shapes/paint/stroke.hpp',
219 'submodule/include/shapes/paint/stroke_cap.hpp',
220 'submodule/include/shapes/paint/stroke_effect.hpp',
221 'submodule/include/shapes/paint/stroke_join.hpp',
222 'submodule/include/shapes/paint/trim_path.hpp'
223 ], subdir: 'rive/shapes/paint')
226 'submodule/include/importers/artboard_importer.hpp',
227 'submodule/include/importers/import_stack.hpp',
228 'submodule/include/importers/keyed_object_importer.hpp',
229 'submodule/include/importers/keyed_property_importer.hpp',
230 'submodule/include/importers/linear_animation_importer.hpp'
231 ], subdir: 'rive/importers')
234 'submodule/src/math/aabb.cpp',
235 'submodule/src/math/vec2d.cpp',
236 'submodule/src/math/mat2d.cpp',
237 'submodule/src/animation/cubic_interpolator.cpp',
238 'submodule/src/animation/keyed_object.cpp',
239 'submodule/src/animation/keyed_property.cpp',
240 'submodule/src/animation/keyframe.cpp',
241 'submodule/src/animation/keyframe_color.cpp',
242 'submodule/src/animation/keyframe_double.cpp',
243 'submodule/src/animation/keyframe_id.cpp',
244 'submodule/src/animation/linear_animation.cpp',
245 'submodule/src/animation/linear_animation_instance.cpp',
246 'submodule/src/animation/layer_state.cpp',
247 'submodule/src/animation/state_machine_input.cpp',
248 'submodule/src/animation/state_machine_layer.cpp',
249 'submodule/src/animation/state_machine_trigger.cpp',
250 'submodule/src/animation/state_transition.cpp',
251 'submodule/src/animation/transition_condition.cpp',
252 'submodule/src/core/binary_reader.cpp',
253 'submodule/src/core/field_types/core_bool_type.cpp',
254 'submodule/src/core/field_types/core_color_type.cpp',
255 'submodule/src/core/field_types/core_double_type.cpp',
256 'submodule/src/core/field_types/core_string_type.cpp',
257 'submodule/src/core/field_types/core_uint_type.cpp',
258 'submodule/src/importers/artboard_importer.cpp',
259 'submodule/src/importers/keyed_object_importer.cpp',
260 'submodule/src/importers/keyed_property_importer.cpp',
261 'submodule/src/importers/linear_animation_importer.cpp',
262 'submodule/src/shapes/clipping_shape.cpp',
263 'submodule/src/shapes/cubic_mirrored_vertex.cpp',
264 'submodule/src/shapes/metrics_path.cpp',
265 'submodule/src/shapes/path.cpp',
266 'submodule/src/shapes/points_path.cpp',
267 'submodule/src/shapes/shape.cpp',
268 'submodule/src/shapes/straight_vertex.cpp',
269 'submodule/src/shapes/cubic_asymmetric_vertex.cpp',
270 'submodule/src/shapes/cubic_vertex.cpp',
271 'submodule/src/shapes/path_composer.cpp',
272 'submodule/src/shapes/polygon.cpp',
273 'submodule/src/shapes/shape_paint_container.cpp',
274 'submodule/src/shapes/triangle.cpp',
275 'submodule/src/shapes/cubic_detached_vertex.cpp',
276 'submodule/src/shapes/ellipse.cpp',
277 'submodule/src/shapes/parametric_path.cpp',
278 'submodule/src/shapes/path_vertex.cpp',
279 'submodule/src/shapes/rectangle.cpp',
280 'submodule/src/shapes/star.cpp',
281 'submodule/src/shapes/paint/color.cpp',
282 'submodule/src/shapes/paint/fill.cpp',
283 'submodule/src/shapes/paint/gradient_stop.cpp',
284 'submodule/src/shapes/paint/linear_gradient.cpp',
285 'submodule/src/shapes/paint/radial_gradient.cpp',
286 'submodule/src/shapes/paint/shape_paint.cpp',
287 'submodule/src/shapes/paint/shape_paint_mutator.cpp',
288 'submodule/src/shapes/paint/solid_color.cpp',
289 'submodule/src/shapes/paint/stroke.cpp',
290 'submodule/src/shapes/paint/trim_path.cpp',
291 'submodule/src/bones/bone.cpp',
292 'submodule/src/bones/root_bone.cpp',
293 'submodule/src/bones/skin.cpp',
294 'submodule/src/bones/skinnable.cpp',
295 'submodule/src/bones/tendon.cpp',
296 'submodule/src/bones/weight.cpp',
297 'submodule/src/artboard.cpp',
298 'submodule/src/component.cpp',
299 'submodule/src/dependency_sorter.cpp',
300 'submodule/src/draw_rules.cpp',
301 'submodule/src/draw_target.cpp',
302 'submodule/src/drawable.cpp',
303 'submodule/src/file.cpp',
304 'submodule/src/layout.cpp',
305 'submodule/src/node.cpp',
306 'submodule/src/transform_component.cpp',
309 rive_cpp_dep = declare_dependency(
310 include_directories : include_directories('submodule/include'),
311 sources : rive_cpp_src,
314 headers = [include_directories('inc'), include_directories('submodule/include'), include_directories('src/renderer')]
319 if get_option('example') == true
320 message('Enable Examples')