2026-09-05 07:11:05 -04:00
|
|
|
message('C compiler: ' + cc.get_id())
|
|
|
|
|
message('C++ compiler: ' + cpp.get_id())
|
|
|
|
|
|
|
|
|
|
if not cpp.has_header('memory') or not cpp.compiles('''
|
|
|
|
|
#include <type_traits>
|
|
|
|
|
int main() { static_assert(__cplusplus >= 201703L); return 0; }
|
|
|
|
|
''', name: 'C++17 language support')
|
|
|
|
|
error('MFEM 4.10 requires a C++17-or-newer compiler.')
|
|
|
|
|
endif
|
|
|
|
|
|
2026-09-15 10:42:00 -04:00
|
|
|
if not cpp.links('''
|
|
|
|
|
#include <print>
|
|
|
|
|
int main() { std::println("SERiF"); }
|
|
|
|
|
''', args: platform_cpp_args + platform_link_args, name: 'C++23 std::println support')
|
|
|
|
|
error('SERiF requires C++23 std::println support. On macOS, use -Dmacos_deployment_target=15.0 or newer with a recent Xcode toolchain.')
|
|
|
|
|
endif
|
|
|
|
|
|
2026-09-05 07:11:05 -04:00
|
|
|
cmake_program = find_program('cmake', required: true)
|
|
|
|
|
# With meson-python, the generated native file pins this to the interpreter
|
|
|
|
|
# building the wheel. For command-line builds, PATH controls the selection.
|
|
|
|
|
python_build = python_mod.find_installation(required: true, pure: false)
|
|
|
|
|
|
|
|
|
|
if meson.is_cross_build()
|
|
|
|
|
message('Cross build: ' + build_machine.system() + ' -> ' + host_machine.system())
|
|
|
|
|
endif
|