fix(gcc): Fixed Gridfire on gcc

GridFire failed to compile on gcc and gnu stdlibc++ this has been
resolved. Further, the boost dependency has been removed since we no
longer use boost at all. This should dramatically simplify installation.
Finally we have added some build system checks to ensure that the
correct version of a C++ and fortran compiler are present on the system
This commit is contained in:
2025-11-28 09:42:54 -05:00
parent 08a031f30c
commit 033c5a083d
11 changed files with 42 additions and 67 deletions

View File

@@ -39,12 +39,34 @@ if meson.get_compiler('cpp').get_id() == 'gcc'
# We disable these because of boost notes about abi changes from C++10 -> C++17 make the build too noisey
message('disabling psabi warnings for gcc')
add_project_arguments('-Wno-psabi', language: 'cpp')
if (meson.get_compiler('cpp').version().version_compare('<14.0'))
error('g++ version must be at least 14.0, found ' + meson.get_compiler('cpp').version())
endif
endif
build_fortran = get_option('build-fortran')
if (build_fortran)
add_languages('fortran', native: true)
message('Building fortran module (gridfire_mod.mod)')
fc = meson.get_compiler('fortran')
if not get_option('unsafe-fortran')
if fc.get_id() != 'gcc'
error('The only supported fortran compiler for GridFire is gfortran (version >= 14.0), found ' + fc + '. GridFire has not been tested with any other compilers. You can disable this check with the -Dunsafe-fortran=true flag to try other compilers')
endif
endif
endif
if (meson.get_compiler('fortran').version().version_compare('<14.0'))
error('gfortran version must be at least 14.0, found ' + meson.get_compiler('fortran').version())
endif
# For Eigen
add_project_arguments('-Wno-deprecated-declarations', language: 'cpp')
llevel = get_option('log_level')
llevel = get_option('log-level')
logbase='QUILL_COMPILE_ACTIVE_LOG_LEVEL_'