d386e1393ed5c5216664b96f5739e438631039cf
[platform/core/graphics/tizenvg.git] / src / meson.build
1 compiler_flags = ['-DTVG_BUILD']
2
3 cc = meson.get_compiler('cpp')
4 if (cc.get_id() != 'msvc')
5     if get_option('vectors').contains('avx')
6         compiler_flags += ['-mavx']
7         message('Enable Advanced Vector Extension')
8     endif
9     compiler_flags += ['-fno-exceptions', '-fno-rtti',
10                        '-fno-unwind-tables' , '-fno-asynchronous-unwind-tables',
11                        '-Woverloaded-virtual', '-Wno-unused-parameter']
12 endif
13
14
15 subdir('lib')
16 subdir('loaders')
17 subdir('bindings')
18
19 thread_dep = meson.get_compiler('cpp').find_library('pthread')
20 dlog_dep = dependency('dlog', required: false)
21 thorvg_lib_dep = [common_dep, loader_dep, binding_dep, thread_dep, dlog_dep]
22
23 thorvg_lib = library(
24         'thorvg',
25         include_directories    : headers,
26         version                : meson.project_version(),
27         dependencies           : thorvg_lib_dep,
28         install                : true,
29         cpp_args               : compiler_flags,
30         gnu_symbol_visibility  : 'hidden',
31 )
32
33 thorvg_dep = declare_dependency(
34         include_directories: headers,
35         link_with : thorvg_lib
36 )
37
38 if (cc.get_id() == 'emscripten')
39
40   subdir('wasm')
41
42   executable('thorvg-wasm',
43               [],
44               dependencies : [thorvg_dep, thorvg_wasm_dep],
45             )
46 endif
47
48 pkg_mod = import('pkgconfig')
49
50 pkg_mod.generate(
51         libraries    : thorvg_lib,
52         version      : meson.project_version(),
53         name         : 'libthorvg',
54         filebase     : 'thorvg',
55         description  : 'A Thor library for rendering vector graphics'
56 )
57
58 subdir('bin')
59
60 if get_option('examples') == true
61     message('Enable Examples')
62     subdir('examples')
63 endif