aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/fortran/9 cpp/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/fortran/9 cpp/meson.build')
-rw-r--r--meson/test cases/fortran/9 cpp/meson.build33
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)