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.
 
 
 
 
 
 

26 lines
632 B

project('preprocess', 'c')
cc = meson.get_compiler('c')
add_project_arguments(['-DFOO=0', '-DBAR=0'], language: 'c')
fs = import('fs')
bar_content = fs.read('bar.c')
bar_c = custom_target(
input: 'bar.c',
output: 'bar.c',
command: ['python3', '-c', '''import sys;print(sys.argv[1].replace('@BAR@', 'bar'))''', bar_content],
capture: true,
)
dep = declare_dependency(compile_args: '-DPLOP=0')
pp_files = cc.preprocess('foo.c', bar_c, output: '@PLAINNAME@', dependencies: dep)
foreach f : pp_files
message(f.full_path())
endforeach
subdir('src')
test('test-foo', executable('app', pp_files, link_depends: file_map))