diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-09-24 11:54:02 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2020-09-25 11:11:46 -0700 |
commit | bffd981246792e97c0a28fb53da49ff601873e76 (patch) | |
tree | 3b201f10a7c5bc1a8f7841d5b3419889d923142f /test cases | |
parent | 54329eeed75d9fc4b9cc2ccbafb0773d24b2f92b (diff) | |
download | meson-bffd981246792e97c0a28fb53da49ff601873e76.zip meson-bffd981246792e97c0a28fb53da49ff601873e76.tar.gz meson-bffd981246792e97c0a28fb53da49ff601873e76.tar.bz2 |
tests/hdf5: work around some problems
There are two cases that won't work (these are taken from fortran/9
cpp), using gfortran with a non-gcc compiler on windows, or using
gfortran with apple clang. The latter is due to default search paths,
which we can fix, but is out of scope for this MR.
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/frameworks/25 hdf5/meson.build | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/test cases/frameworks/25 hdf5/meson.build b/test cases/frameworks/25 hdf5/meson.build index ced33b1..0df2ffd 100644 --- a/test cases/frameworks/25 hdf5/meson.build +++ b/test cases/frameworks/25 hdf5/meson.build @@ -19,11 +19,26 @@ if add_languages('cpp', required: false) test('HDF5 C++', execpp, timeout: 30) endif -# --- Fortran tests -if add_languages('fortran', required: false) - h5f = dependency('hdf5', language : 'fortran', required : false, disabler: true, method : method) - exef = executable('exef', 'main.f90', dependencies : h5f) - test('HDF5 Fortran', exef, timeout: 30) +test_fortran = add_languages('fortran', required: false) + +if test_fortran + cpp = meson.get_compiler('cpp') + fc = meson.get_compiler('fortran') + + if host_machine.system() == 'darwin' and cpp.get_id() == 'clang' and fc.get_id() == 'gcc' + # Search paths don't work correctly here and -lgfortran doesn't work + test_fortran = false + elif host_machine.system() == 'windows' and cpp.get_id() != 'gcc' and fc.get_id() == 'gcc' + # mixing gfotran with non-gcc doesn't work on windows + test_fortran = false + endif + + # --- Fortran tests + if test_fortran + h5f = dependency('hdf5', language : 'fortran', required : false, disabler: true, method : method) + exef = executable('exef', 'main.f90', dependencies : h5f) + test('HDF5 Fortran', exef, timeout: 30) + endif endif # Check we can apply a version constraint |