The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1.0 KiB

# 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)
conf_data.set('THREE', 3)
configure_file(input : 'mod3.fpp', output : 'mod3.f90', configuration : conf_data)
# Manually build absolute path to source file to test
# https://github.com/mesonbuild/meson/issues/7265
three = library('mod3', meson.current_build_dir() / 'mod3.f90')
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)