Files
GridFire/build-config/fourdst/meson.build

83 lines
3.1 KiB
Meson

fourdst_build_lib_all = true
if not get_option('plugin_support')
fourdst_build_lib_all=false
message('Disabling fourdst plugin support as per user request.')
endif
fourdst_default_options = [
'build_tests=' + get_option('build_tests').to_string(),
'build_python=' + get_option('build_python').to_string(),
'build_lib_all=' + fourdst_build_lib_all.to_string(),
'build_lib_comp=true',
'build_lib_config=true',
'build_lib_log=true',
'build_lib_const=true',
'pkg_config=' + get_option('pkg_config').to_string(),
]
if get_option('build_python')
fourdst_default_options += ['default_library=static']
endif
fourdst_sp = subproject('fourdst', default_options: fourdst_default_options)
composition_dep = fourdst_sp.get_variable('composition_dep')
log_dep = fourdst_sp.get_variable('log_dep')
const_dep = fourdst_sp.get_variable('const_dep')
config_dep = fourdst_sp.get_variable('config_dep')
if get_option('plugin_support')
warning('Including plugin library from fourdst. Note this will bring in minizip-ng and openssl, which can cause build issues with cross compilation due to their complexity.')
plugin_dep = fourdst_sp.get_variable('plugin_dep')
endif
libcomposition = fourdst_sp.get_variable('libcomposition')
libconst = fourdst_sp.get_variable('libconst')
liblogging = fourdst_sp.get_variable('liblogging')
if get_option('plugin_support')
warning('Including plugin library from fourdst. Note this will bring in minizip-ng and openssl, which can cause build issues with cross compilation due to their complexity.')
libplugin = fourdst_sp.get_variable('libplugin')
endif
if get_option('build_python')
sp_root = meson.project_source_root() / 'subprojects'
fourdst_header_trees = [
['config',
sp_root / 'libconfig' / 'src' / 'config' / 'include' / 'fourdst' / 'config',
gridfire_includedir / 'fourdst'],
['composition',
sp_root / 'libcomposition' / 'src' / 'composition' / 'include' / 'fourdst' / 'composition',
gridfire_includedir / 'fourdst'],
['atomic',
sp_root / 'libcomposition' / 'src' / 'composition' / 'include' / 'fourdst' / 'atomic',
gridfire_includedir / 'fourdst'],
['constants',
sp_root / 'libconstants' / 'src' / 'constants' / 'include' / 'fourdst' / 'constants',
gridfire_includedir / 'fourdst'],
['logging',
sp_root / 'liblogging' / 'src' / 'logging' / 'include' / 'fourdst' / 'logging',
gridfire_includedir / 'fourdst'],
['toml++',
sp_root / 'libconfig' / 'build-config' / 'tomlpp' / 'vendor' / 'include' / 'toml++',
gridfire_fourdst_vendor_includedir],
['quill',
sp_root / 'quill' / 'include' / 'quill',
gridfire_fourdst_vendor_includedir],
['CLI',
sp_root / 'CLI11-2.6.1' / 'include' / 'CLI',
gridfire_fourdst_vendor_includedir],
]
foreach t : fourdst_header_trees
custom_target(
'wheel_headers_' + t[0].underscorify(),
command: copytree_cmd + [t[1], '@OUTPUT@'],
output: t[0],
install: true,
install_dir: t[2],
)
endforeach
endif