example: upgrade rive viewer for loading rive files in examples/resource directory.
[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 add_project_arguments('-DRIVE_FILE_DIR="@0@/example/resource/"'.format(meson.current_source_dir()), language : 'cpp')
8
9 thorvg_dep = dependency('thorvg', required : true)
10
11 run_command('script/install.sh')
12
13 headers = [include_directories('inc')]
14
15 rive_tizen_src = [
16    'src/rive_tizen.cpp',
17 ]
18
19 install_headers([
20                  'inc/rive_tizen.hpp',
21                 ])
22
23 rive_tizen_dep = declare_dependency(
24    include_directories : include_directories('.'),
25    sources : rive_tizen_src
26 )
27
28 rive_src = [
29    'submodule/src/math/aabb.cpp',
30    'submodule/src/math/vec2d.cpp',
31    'submodule/src/math/mat2d.cpp',
32    'submodule/src/animation/cubic_interpolator.cpp',
33    'submodule/src/animation/keyed_object.cpp',
34    'submodule/src/animation/keyed_property.cpp',
35    'submodule/src/animation/keyframe.cpp',
36    'submodule/src/animation/keyframe_color.cpp',
37    'submodule/src/animation/keyframe_double.cpp',
38    'submodule/src/animation/keyframe_id.cpp',
39    'submodule/src/animation/linear_animation.cpp',
40    'submodule/src/animation/linear_animation_instance.cpp',
41    'submodule/src/core/binary_reader.cpp',
42    'submodule/src/core/field_types/core_bool_type.cpp',
43    'submodule/src/core/field_types/core_color_type.cpp',
44    'submodule/src/core/field_types/core_double_type.cpp',
45    'submodule/src/core/field_types/core_string_type.cpp',
46    'submodule/src/core/field_types/core_uint_type.cpp',
47    'submodule/src/shapes/clipping_shape.cpp',
48    'submodule/src/shapes/cubic_mirrored_vertex.cpp',
49    'submodule/src/shapes/metrics_path.cpp',
50    'submodule/src/shapes/path.cpp',
51    'submodule/src/shapes/points_path.cpp',
52    'submodule/src/shapes/shape.cpp',
53    'submodule/src/shapes/straight_vertex.cpp',
54    'submodule/src/shapes/cubic_asymmetric_vertex.cpp',
55    'submodule/src/shapes/cubic_vertex.cpp',
56    'submodule/src/shapes/path_composer.cpp',
57    'submodule/src/shapes/polygon.cpp',
58    'submodule/src/shapes/shape_paint_container.cpp',
59    'submodule/src/shapes/triangle.cpp',
60    'submodule/src/shapes/cubic_detached_vertex.cpp',
61    'submodule/src/shapes/ellipse.cpp',
62    'submodule/src/shapes/parametric_path.cpp',
63    'submodule/src/shapes/path_vertex.cpp',
64    'submodule/src/shapes/rectangle.cpp',
65    'submodule/src/shapes/star.cpp',
66    'submodule/src/shapes/paint/color.cpp',
67    'submodule/src/shapes/paint/fill.cpp',
68    'submodule/src/shapes/paint/gradient_stop.cpp',
69    'submodule/src/shapes/paint/linear_gradient.cpp',
70    'submodule/src/shapes/paint/radial_gradient.cpp',
71    'submodule/src/shapes/paint/shape_paint.cpp',
72    'submodule/src/shapes/paint/shape_paint_mutator.cpp',
73    'submodule/src/shapes/paint/solid_color.cpp',
74    'submodule/src/shapes/paint/stroke.cpp',
75    'submodule/src/shapes/paint/trim_path.cpp',
76    'submodule/src/bones/bone.cpp',
77    'submodule/src/bones/root_bone.cpp',
78    'submodule/src/bones/skin.cpp',
79    'submodule/src/bones/skinnable.cpp',
80    'submodule/src/bones/tendon.cpp',
81    'submodule/src/bones/weight.cpp',
82    'submodule/src/artboard.cpp',
83    'submodule/src/component.cpp',
84    'submodule/src/dependency_sorter.cpp',
85    'submodule/src/draw_rules.cpp',
86    'submodule/src/draw_target.cpp',
87    'submodule/src/drawable.cpp',
88    'submodule/src/file.cpp',
89    'submodule/src/layout.cpp',
90    'submodule/src/node.cpp',
91    'submodule/src/transform_component.cpp',
92 ]
93
94 thorvg_renderer_dep = declare_dependency(
95    include_directories : include_directories(['src/renderer/include']),
96    sources : ['src/renderer/src/thorvg_renderer.cpp'],
97    dependencies : thorvg_dep
98 )
99
100 rive_dep = declare_dependency(
101    include_directories : include_directories(['submodule/include']),
102    sources : rive_src,
103    dependencies : thorvg_renderer_dep
104 )
105
106 rive_tizen_lib = library(
107         'rive_tizen',
108         include_directories : [headers],
109         version             : meson.project_version(),
110         dependencies        : [rive_tizen_dep, rive_dep],
111         install             : true,
112         cpp_args            : ['-fno-exceptions', '-fno-rtti'],
113         gnu_symbol_visibility : 'hidden',
114 )
115
116 rive_tizen_lib_dep = declare_dependency(
117         include_directories : [headers],
118         link_with : rive_tizen_lib
119 )
120
121 pkg_mod = import('pkgconfig')
122
123 pkg_mod.generate(
124         libraries    : rive_tizen_lib,
125         version      : meson.project_version(),
126         name         : 'librive_tizen',
127         filebase     : 'rive_tizen',
128         description  : 'A Rive Animation Tizen Runtime Engine'
129 )
130
131 subdir('example')