summaryrefslogtreecommitdiff
path: root/test cases/common/259 preprocess/meson.build
blob: 2ca5bed594d045206e651f63efff05c7dc2eb9d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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_x = custom_target(
  input: 'bar.c',
  output: 'bar.x',
  command: ['python3', '-c', '''import sys;print(sys.argv[1].replace('@BAR@', 'bar'))''', bar_content],
  capture: true,
)

foo_h = import('fs').copyfile('foo.x', 'foo.h')

dep = declare_dependency(compile_args: '-DPLOP=0')

pp_files = cc.preprocess('foo.c', bar_x, 'math.c',
  output: '@PLAINNAME@.c',
  dependencies: dep,
  depends: foo_h,
  compile_args: ['-DBAZ=0'],
)

foreach f : pp_files
  message(f.full_path())
endforeach

subdir('src')

test('test-foo', executable('app', pp_files, link_depends: file_map))