2025-11-28 11:56:41 -05:00
fourdst_build_lib_all = true
2025-12-03 11:38:08 -05:00
if not get_option ( 'plugin_support' )
2025-11-28 11:56:41 -05:00
fourdst_build_lib_all = false
2025-12-03 11:38:08 -05:00
message ( 'Disabling fourdst plugin support as per user request.' )
2025-11-28 11:56:41 -05:00
endif
2026-06-10 14:28:55 -04:00
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 )
2025-07-23 16:26:30 -04:00
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' )
2025-12-03 11:38:08 -05:00
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.' )
2025-11-28 11:56:41 -05:00
plugin_dep = fourdst_sp . get_variable ( 'plugin_dep' )
endif
2025-07-23 16:26:30 -04:00
libcomposition = fourdst_sp . get_variable ( 'libcomposition' )
libconst = fourdst_sp . get_variable ( 'libconst' )
2025-11-28 11:28:49 -05:00
liblogging = fourdst_sp . get_variable ( 'liblogging' )
2025-11-28 11:56:41 -05:00
2025-12-03 11:38:08 -05:00
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.' )
2025-11-28 11:56:41 -05:00
libplugin = fourdst_sp . get_variable ( 'libplugin' )
2025-12-01 13:28:25 -05:00
endif
2026-06-10 14:28:55 -04:00
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