feat(mfem): added mfem into source tree along with patch based build system
MFEM is a dependency of our code and we want to build it with our code for portability, here I add a meson subproject which fetches mfem and builds it. Because of some issues with CMake and meson I apply a patch which manually disables running tests and building examples and miniapps in mfem. This is okay as mfem here is not intenteded to be linked against other programs (though it still can be).
This commit is contained in:
24
build-config/mfem/meson.build
Normal file
24
build-config/mfem/meson.build
Normal file
@@ -0,0 +1,24 @@
|
||||
cmake = import('cmake')
|
||||
patchFile = files('disable_mfem_selfcheck.patch')
|
||||
|
||||
patch_check = run_command('grep', '-q', 'MFEM_CHECK_TARGET_NAME', 'subprojects/mfem/CMakeLists.txt', check: false)
|
||||
if patch_check.returncode() == 0
|
||||
message('Patching MFEM CMakeLists.txt to remove self checks')
|
||||
run_command('patch', '-p4', '-d', '../../subprojects/mfem', '-i', patchFile[0].full_path(), check: true)
|
||||
else
|
||||
message('MFEM CMakeLists.txt already patched')
|
||||
endif
|
||||
|
||||
mfem_cmake_options = cmake.subproject_options()
|
||||
mfem_cmake_options.add_cmake_defines({
|
||||
'MFEM_ENABLE_EXAMPLES': 'OFF',
|
||||
'MFEM_ENABLE_TESTING': 'OFF',
|
||||
'MFEM_ENABLE_MINIAPPS': 'OFF',
|
||||
'MFEM_USE_BENCMARK': 'OFF',
|
||||
})
|
||||
|
||||
mfem_sp = cmake.subproject(
|
||||
'mfem',
|
||||
options: mfem_cmake_options)
|
||||
mfem_dep = mfem_sp.dependency('mfem')
|
||||
add_project_arguments('-I' + meson.current_build_dir() + '/subprojects/mfem/__CMake_build/config', language: 'cpp')
|
||||
Reference in New Issue
Block a user