diff options
Diffstat (limited to 'test cases/fortran/7 generated/meson.build')
-rw-r--r-- | test cases/fortran/7 generated/meson.build | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test cases/fortran/7 generated/meson.build b/test cases/fortran/7 generated/meson.build new file mode 100644 index 0000000..f021309 --- /dev/null +++ b/test cases/fortran/7 generated/meson.build @@ -0,0 +1,39 @@ +# Tests whether fortran sources files created during configuration are properly +# scanned for dependency information + +project('generated', 'fortran', + default_options : ['default_library=static']) + +conf_data = configuration_data() +conf_data.set('ONE', 1) +conf_data.set('TWO', 2) + +mod3_f = custom_target( + 'mod3.f', + input : 'mod3.f90', + output : 'mod3.f90', + # We need a platform agnostic way to do a copy a file, using a custom_target + # and we need to use the @OUTDIR@, not @OUTPUT@ in order to exercise + # https://github.com/mesonbuild/meson/issues/9258 + command : [ + find_program('python', 'python3'), '-c', + 'import sys, shutil; shutil.copy(sys.argv[1], sys.argv[2])', + '@INPUT@', '@OUTDIR@', + ], +) + +three = library('mod3', mod3_f) + +templates_basenames = ['mod2', 'mod1'] +generated_sources = [] +foreach template_basename : templates_basenames + infilename = '@0@.fpp'.format(template_basename) + outfilename = '@0@.f90'.format(template_basename) + outfile = configure_file( + input : infilename, output : outfilename, configuration : conf_data) + generated_sources += [outfile] +endforeach + +sources = ['prog.f90'] + generated_sources +exe = executable('generated', sources, link_with: three) +test('generated', exe) |