fix(unity): GridFire supports unity builds

GridFire can now support unity builds. This is useful for python
bindings. The main limitation is that openssl (a dependency of
libplugin) does not support unity builds. Therefore when building in a
unity build libplugin must be disabled. This is done with the
-Dunity-safe=ture flag at setup time
This commit is contained in:
2025-11-28 11:56:41 -05:00
parent bb558811c6
commit 75a88b9720
8 changed files with 26 additions and 9 deletions

View File

@@ -1,9 +1,17 @@
# bring in all of the fourdst utility repositories
fourdst_build_lib_all = true
if get_option('unity-safe')
fourdst_build_lib_all=false
endif
fourdst_sp = subproject('fourdst',
default_options:
['build-tests=' + get_option('build-tests').to_string(),
'build-python=' + get_option('build-python').to_string()
'build-python=' + get_option('build-python').to_string(),
'build-lib-all=' + fourdst_build_lib_all.to_string(),
'pkg-config=' + get_option('pkg-config').to_string(),
'build-lib-log=true'
]
)
@@ -11,10 +19,15 @@ 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')
plugin_dep = fourdst_sp.get_variable('plugin_dep')
if not get_option('unity-safe')
plugin_dep = fourdst_sp.get_variable('plugin_dep')
endif
libcomposition = fourdst_sp.get_variable('libcomposition')
libconst = fourdst_sp.get_variable('libconst')
libconfig = fourdst_sp.get_variable('libconfig')
liblogging = fourdst_sp.get_variable('liblogging')
libplugin = fourdst_sp.get_variable('libplugin')
if not get_option('unity-safe')
libplugin = fourdst_sp.get_variable('libplugin')
endif