Began porting the mapping system

This commit is contained in:
2026-09-20 14:37:11 -04:00
parent f69fac8f1e
commit 08a8f231d2
46 changed files with 1336 additions and 115 deletions

View File

@@ -1,6 +1,9 @@
magic_enum_include = include_directories('include')
magic_enum_args = []
# SERiFErrorCode includes values up to 1000; magic_enum defaults to 127.
# Keep this definition on the public dependency so every translation unit
# instantiates the same reflection tables.
magic_enum_args = ['-DMAGIC_ENUM_RANGE_MAX=2000']
if get_option('magic_enum_hash')
magic_enum_args += '-DMAGIC_ENUM_ENABLE_HASH'
@@ -11,3 +14,4 @@ magic_enum_dep = declare_dependency(
compile_args: magic_enum_args,
)
meson.override_dependency('magic_enum', magic_enum_dep)

View File

@@ -406,11 +406,12 @@ if effective_allow_preinstalled
endforeach
if system_compatible
system_compatible = cpp.compiles(
system_compatible = cpp.links(
'#include <mfem.hpp>\n' +
'int main(){return 0;}',
'#include <sstream>\n' +
'int main(){std::istringstream input; mfem::Mesh mesh(input); return mesh.Dimension();}',
dependencies: system_candidate_dependencies,
name: 'system MFEM public headers are consumable',
name: 'system MFEM matches the selected C++ ABI',
)
endif
@@ -597,6 +598,15 @@ else
bundle_command += ['--c-link-arg=' + platform_link_arg]
bundle_command += ['--cxx-link-arg=' + platform_link_arg]
endforeach
# Meson does not include the native-file c_ld/cpp_ld selection in *_link_args.
# Carry that selection into the external CMake/Make dependency builds too.
linker_flags = {'ld.bfd': '-fuse-ld=bfd', 'ld.gold': '-fuse-ld=gold', 'ld.lld': '-fuse-ld=lld'}
if linker_flags.has_key(cc.get_linker_id())
bundle_command += ['--c-link-arg=' + linker_flags[cc.get_linker_id()]]
endif
if linker_flags.has_key(cpp.get_linker_id())
bundle_command += ['--cxx-link-arg=' + linker_flags[cpp.get_linker_id()]]
endif
foreach i : range(mfem_feature_names.length())
bundle_command += [
'--feature',