build(wasm): major progress on gridfire compiling to wasm
This commit is contained in:
0
build-check/CC/meson.build
Normal file
0
build-check/CC/meson.build
Normal file
33
build-check/CPPC/meson.build
Normal file
33
build-check/CPPC/meson.build
Normal file
@@ -0,0 +1,33 @@
|
||||
cppc = meson.get_compiler('cpp')
|
||||
|
||||
if cppc.get_id() == 'clang'
|
||||
message('disabling bitwise-instead-of-logical warnings for clang')
|
||||
add_project_arguments('-Wno-bitwise-instead-of-logical', language: 'cpp')
|
||||
endif
|
||||
|
||||
if cppc.get_id() == 'gcc'
|
||||
message('disabling psabi warnings for gcc')
|
||||
add_project_arguments('-Wno-psabi', language: 'cpp')
|
||||
|
||||
if (cppc.version().version_compare('<14.0'))
|
||||
error('g++ version must be at least 14.0, found ' + cppc.version())
|
||||
endif
|
||||
endif
|
||||
|
||||
if not cppc.has_header('print')
|
||||
error('C++ standard library header <print> not found. Please ensure your compiler and standard library supports C++23. We have already validated your compiler version so this is likely an issue with your standard library installation.')
|
||||
endif
|
||||
if not cppc.has_header('format')
|
||||
error('C++ standard library header <format> not found. Please ensure your compiler and standard library supports C++23. We have already validated your compiler version so this is likely an issue with your standard library installation.')
|
||||
endif
|
||||
|
||||
# For Eigen
|
||||
add_project_arguments('-Wno-deprecated-declarations', language: 'cpp')
|
||||
|
||||
if get_option('build_python')
|
||||
message('enabling hidden visibility for C++ symbols when building Python extension. This reduces the size of the resulting shared library.')
|
||||
add_project_arguments('-fvisibility=hidden', language: 'cpp')
|
||||
else
|
||||
message('enabling default visibility for C++ symbols')
|
||||
add_project_arguments('-fvisibility=default', language: 'cpp')
|
||||
endif
|
||||
15
build-check/FC/meson.build
Normal file
15
build-check/FC/meson.build
Normal file
@@ -0,0 +1,15 @@
|
||||
if get_option('build_fortran')
|
||||
add_languages('fortran', native: true)
|
||||
message('Found FORTRAN compiler: ' + meson.get_compiler('fortran').get_id())
|
||||
message('Fortran standard set to: ' + get_option('fortran_std'))
|
||||
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
|
||||
if (fc.version().version_compare('<14.0'))
|
||||
error('gfortran version must be at least 14.0, found ' + fc.version())
|
||||
endif
|
||||
endif
|
||||
15
build-check/meson.build
Normal file
15
build-check/meson.build
Normal file
@@ -0,0 +1,15 @@
|
||||
message('Found CXX compiler: ' + meson.get_compiler('cpp').get_id())
|
||||
message('C++ standard set to: ' + get_option('cpp_std'))
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
ignore_unused_args = '-Wno-unused-command-line-argument'
|
||||
|
||||
add_global_arguments(ignore_unused_args, language: 'cpp')
|
||||
add_global_arguments(ignore_unused_args, language: 'c')
|
||||
|
||||
|
||||
subdir('CPPC')
|
||||
subdir('FC')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user