diff options
Diffstat (limited to 'meson/test cases/fortran/9 cpp/meson.build')
-rw-r--r-- | meson/test cases/fortran/9 cpp/meson.build | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/meson/test cases/fortran/9 cpp/meson.build b/meson/test cases/fortran/9 cpp/meson.build new file mode 100644 index 000000000..f96944b79 --- /dev/null +++ b/meson/test cases/fortran/9 cpp/meson.build @@ -0,0 +1,33 @@ +project('C, C++ and Fortran', 'c', 'cpp', 'fortran') + +cpp = meson.get_compiler('cpp') +fc = meson.get_compiler('fortran') + +if cpp.get_id() == 'clang' + error('MESON_SKIP_TEST Clang C++ does not find -lgfortran for some reason.') +endif + +if build_machine.system() == 'windows' and cpp.get_id() != fc.get_id() + error('MESON_SKIP_TEST mixing gfortran with non-GNU C++ does not work.') +endif + +link_with = [] +if fc.get_id() == 'intel' + link_with += fc.find_library('ifport') +endif + +e = executable( + 'cfort', + ['main.c', 'fortran.f'], + dependencies : link_with, +) + +test('C and Fortran', e) + +e2 = executable( + 'cppfort', + ['main.cpp', 'fortran.f'], + dependencies : link_with, +) + +test('C++ and Fortran', e2) |