message('C compiler: ' + cc.get_id()) message('C++ compiler: ' + cpp.get_id()) if not cpp.has_header('memory') or not cpp.compiles(''' #include 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 if not cpp.links(''' #include 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 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