mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-24 23:25:38 +00:00
122 lines
2.9 KiB
Meson
122 lines
2.9 KiB
Meson
|
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)
|
||
|
|
||
|
|
||
|
|