build: revise meson build script
[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
9 add_project_arguments('-DRIVE_FILE_DIR="@0@/example/resource/"'.format(meson.current_source_dir()), language : 'cpp')
10
11 thorvg_dep = dependency('thorvg', required : true)
12
13 rive_cpp_src = [
14    'submodule/src/math/aabb.cpp',
15    'submodule/src/math/vec2d.cpp',
16    'submodule/src/math/mat2d.cpp',
17    'submodule/src/animation/cubic_interpolator.cpp',
18    'submodule/src/animation/keyed_object.cpp',
19    'submodule/src/animation/keyed_property.cpp',
20    'submodule/src/animation/keyframe.cpp',
21    'submodule/src/animation/keyframe_color.cpp',
22    'submodule/src/animation/keyframe_double.cpp',
23    'submodule/src/animation/keyframe_id.cpp',
24    'submodule/src/animation/linear_animation.cpp',
25    'submodule/src/animation/linear_animation_instance.cpp',
26    'submodule/src/core/binary_reader.cpp',
27    'submodule/src/core/field_types/core_bool_type.cpp',
28    'submodule/src/core/field_types/core_color_type.cpp',
29    'submodule/src/core/field_types/core_double_type.cpp',
30    'submodule/src/core/field_types/core_string_type.cpp',
31    'submodule/src/core/field_types/core_uint_type.cpp',
32    'submodule/src/shapes/clipping_shape.cpp',
33    'submodule/src/shapes/cubic_mirrored_vertex.cpp',
34    'submodule/src/shapes/metrics_path.cpp',
35    'submodule/src/shapes/path.cpp',
36    'submodule/src/shapes/points_path.cpp',
37    'submodule/src/shapes/shape.cpp',
38    'submodule/src/shapes/straight_vertex.cpp',
39    'submodule/src/shapes/cubic_asymmetric_vertex.cpp',
40    'submodule/src/shapes/cubic_vertex.cpp',
41    'submodule/src/shapes/path_composer.cpp',
42    'submodule/src/shapes/polygon.cpp',
43    'submodule/src/shapes/shape_paint_container.cpp',
44    'submodule/src/shapes/triangle.cpp',
45    'submodule/src/shapes/cubic_detached_vertex.cpp',
46    'submodule/src/shapes/ellipse.cpp',
47    'submodule/src/shapes/parametric_path.cpp',
48    'submodule/src/shapes/path_vertex.cpp',
49    'submodule/src/shapes/rectangle.cpp',
50    'submodule/src/shapes/star.cpp',
51    'submodule/src/shapes/paint/color.cpp',
52    'submodule/src/shapes/paint/fill.cpp',
53    'submodule/src/shapes/paint/gradient_stop.cpp',
54    'submodule/src/shapes/paint/linear_gradient.cpp',
55    'submodule/src/shapes/paint/radial_gradient.cpp',
56    'submodule/src/shapes/paint/shape_paint.cpp',
57    'submodule/src/shapes/paint/shape_paint_mutator.cpp',
58    'submodule/src/shapes/paint/solid_color.cpp',
59    'submodule/src/shapes/paint/stroke.cpp',
60    'submodule/src/shapes/paint/trim_path.cpp',
61    'submodule/src/bones/bone.cpp',
62    'submodule/src/bones/root_bone.cpp',
63    'submodule/src/bones/skin.cpp',
64    'submodule/src/bones/skinnable.cpp',
65    'submodule/src/bones/tendon.cpp',
66    'submodule/src/bones/weight.cpp',
67    'submodule/src/artboard.cpp',
68    'submodule/src/component.cpp',
69    'submodule/src/dependency_sorter.cpp',
70    'submodule/src/draw_rules.cpp',
71    'submodule/src/draw_target.cpp',
72    'submodule/src/drawable.cpp',
73    'submodule/src/file.cpp',
74    'submodule/src/layout.cpp',
75    'submodule/src/node.cpp',
76    'submodule/src/transform_component.cpp',
77 ]
78
79 rive_cpp_dep = declare_dependency(
80    include_directories : include_directories('submodule/include'),
81    sources : rive_cpp_src,
82 )
83
84 headers = [include_directories('inc'), include_directories('submodule/include'), include_directories('src/renderer')]
85
86 subdir('inc')
87 subdir('src')
88
89 if get_option('example') == true
90         message('Enable Examples')
91         subdir('example')
92 endif