aboutsummaryrefslogtreecommitdiff
path: root/test cases/common/117 custom target capture/meson.build
blob: 16b6ac9a46661bca63679bf525b4149aca33a186 (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
project('custom target', 'c')

python3 = import('python3').find_python()

if meson.backend().startswith('vs')
  error('MESON_SKIP_TEST: capturing of custom target output is broken with the VS backends')
endif

# Note that this will not add a dependency to the compiler executable.
# Code will not be rebuilt if it changes.
comp = '@0@/@1@'.format(meson.current_source_dir(), 'my_compiler.py')

mytarget = custom_target('bindat',
  output : 'data.dat',
  input : 'data_source.txt',
  capture : true,
  command : [python3, comp, '@INPUT@'],
  install : true,
  install_dir : 'subdir'
)

ct_output_exists = '''import os, sys
if not os.path.exists(sys.argv[1]):
  print("could not find {!r} in {!r}".format(sys.argv[1], os.getcwd()))
  sys.exit(1)
'''

test('capture-wrote', python3, args : ['-c', ct_output_exists, mytarget])