2022-01-06 21:59:15 +00:00
|
|
|
compiler_flags = ['-DRLOTTIE_BUILD']
|
|
|
|
|
|
|
|
cc = meson.get_compiler('cpp')
|
|
|
|
if (cc.get_id() != 'msvc')
|
|
|
|
compiler_flags += ['-fno-exceptions', '-fno-rtti',
|
|
|
|
'-fno-unwind-tables' , '-fno-asynchronous-unwind-tables',
|
|
|
|
'-Woverloaded-virtual', '-Wno-unused-parameter']
|
|
|
|
endif
|
|
|
|
|
|
|
|
linker_flags = []
|
|
|
|
if (host_machine.system() not in ['darwin', 'windows'])
|
|
|
|
linker_flags += ['-Wl,--version-script=@0@/../rlottie.expmap'.format(meson.current_source_dir())]
|
|
|
|
endif
|
|
|
|
|
|
|
|
subdir('vector')
|
|
|
|
subdir('lottie')
|
|
|
|
subdir('binding')
|
|
|
|
|
2023-08-05 09:32:11 +00:00
|
|
|
rlottie_lib_dep = [ vector_dep, zip_dep, lottie_dep, binding_dep]
|
2022-01-06 21:59:15 +00:00
|
|
|
|
|
|
|
if get_option('thread') == true
|
|
|
|
rlottie_lib_dep += dependency('threads')
|
|
|
|
endif
|
|
|
|
|
|
|
|
rlottie_lib = library('rlottie',
|
|
|
|
include_directories : inc,
|
|
|
|
version : meson.project_version(),
|
|
|
|
dependencies : rlottie_lib_dep,
|
|
|
|
install : true,
|
|
|
|
cpp_args : compiler_flags,
|
|
|
|
link_args : linker_flags,
|
|
|
|
gnu_symbol_visibility : 'hidden',
|
|
|
|
)
|
|
|
|
|
|
|
|
# Make rlottie library usable as a Meson subproject.
|
|
|
|
rlottie_dep = declare_dependency(
|
|
|
|
include_directories: inc,
|
|
|
|
link_with : rlottie_lib)
|
|
|
|
|
|
|
|
if (cc.get_id() == 'emscripten')
|
|
|
|
|
|
|
|
subdir('wasm')
|
|
|
|
|
|
|
|
executable('rlottie-wasm',
|
|
|
|
[],
|
|
|
|
dependencies : [rlottie_dep, rlottie_wasm_dep],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
pkg_mod = import('pkgconfig')
|
|
|
|
|
|
|
|
pkg_mod.generate( libraries : rlottie_lib,
|
|
|
|
version : meson.project_version(),
|
|
|
|
name : 'librlottie',
|
|
|
|
filebase : 'rlottie',
|
|
|
|
description : 'A Library for rendering lottie files.'
|
|
|
|
)
|