You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
2.9 KiB
121 lines
2.9 KiB
project('rlottie', |
|
'cpp', |
|
default_options : ['cpp_std=c++14', 'optimization=s'], |
|
version : '0.2', |
|
license : 'MIT', |
|
meson_version : '>=0.49', |
|
) |
|
|
|
add_project_arguments('-DDEMO_DIR="@0@/example/resource/"'.format(meson.current_source_dir()), language : 'cpp') |
|
|
|
inc = [include_directories('inc')] |
|
config_dir = include_directories('.') |
|
inc += config_dir |
|
|
|
config_h = configuration_data() |
|
|
|
if get_option('thread') == true |
|
config_h.set10('LOTTIE_THREAD_SUPPORT', true) |
|
endif |
|
|
|
if get_option('module') == true |
|
config_h.set10('LOTTIE_IMAGE_MODULE_SUPPORT', true) |
|
|
|
if meson.get_compiler('cpp').get_id() != 'msvc' |
|
lib_prefix = 'lib' |
|
else |
|
lib_prefix = '' |
|
endif |
|
if host_machine.system() == 'darwin' |
|
lib_suffix = '.dylib' |
|
elif host_machine.system() == 'windows' |
|
lib_suffix = '.dll' |
|
else |
|
lib_suffix = '.so' |
|
endif |
|
if get_option('moduledir') != '' |
|
config_h.set_quoted('LOTTIE_IMAGE_MODULE_PLUGIN', |
|
get_option('prefix') / get_option('moduledir') / lib_prefix + 'rlottie-image-loader' + lib_suffix) |
|
else |
|
config_h.set_quoted('LOTTIE_IMAGE_MODULE_PLUGIN', lib_prefix + 'rlottie-image-loader' + lib_suffix) |
|
endif |
|
endif |
|
|
|
if get_option('cache') == true |
|
config_h.set10('LOTTIE_CACHE_SUPPORT', true) |
|
endif |
|
|
|
if get_option('log') == true |
|
config_h.set10('LOTTIE_LOGGING_SUPPORT', true) |
|
endif |
|
|
|
if get_option('dumptree') == true |
|
config_h.set10('LOTTIE_LOGGING_SUPPORT', true) |
|
config_h.set10('LOTTIE_DUMP_TREE_SUPPORT', true) |
|
endif |
|
|
|
|
|
configure_file( |
|
output: 'config.h', |
|
configuration: config_h |
|
) |
|
|
|
|
|
subdir('inc') |
|
subdir('src') |
|
|
|
if get_option('example') == true |
|
subdir('example') |
|
endif |
|
|
|
if get_option('test') == true |
|
subdir('test') |
|
endif |
|
|
|
|
|
if get_option('cmake') == true and host_machine.system() != 'windows' |
|
cmake_bin = find_program('cmake', required: false) |
|
if cmake_bin.found() |
|
cmake = import('cmake') |
|
cmake.write_basic_package_version_file( |
|
version: meson.project_version(), |
|
name: 'rlottie', |
|
) |
|
|
|
cmakeconf = configuration_data() |
|
cmakeconf.set('VERSION', meson.project_version()) |
|
|
|
cmake.configure_package_config_file( |
|
input: meson.current_source_dir() + '/cmake/rlottieConfig.cmake.in', |
|
name: 'rlottie', |
|
configuration: cmakeconf, |
|
) |
|
endif |
|
endif |
|
|
|
summary = ''' |
|
|
|
Summary: |
|
rlottie version : @0@ |
|
Build type : @1@ |
|
Thread Support : @2@ |
|
Module Support : @3@ |
|
Cache Support : @4@ |
|
Example : @5@ |
|
Test : @6@ |
|
Prefix : @7@ |
|
'''.format( |
|
meson.project_version(), |
|
get_option('buildtype'), |
|
get_option('thread'), |
|
get_option('module'), |
|
get_option('cache'), |
|
get_option('example'), |
|
get_option('test'), |
|
get_option('prefix'), |
|
) |
|
|
|
message(summary) |
|
|
|
|
|
|
|
|