The full rewrite of mean_field into something maintainable is progressing. dimensions is mostly done, discritization (domain, blocks, and fields) is done, and eos is progressing quickly
26 lines
1.0 KiB
Meson
26 lines
1.0 KiB
Meson
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
|
|
|
|
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
|
|
|
|
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
|