aboutsummaryrefslogtreecommitdiff
path: root/test cases/common/245 custom target index source/meson.build
blob: c7efbd81bfc8417619d0a311bf7ff03f3e216a96 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
project('custom target index source', 'c')

# Test that using a custom target index as a sourcefile works correctly

copy1 = find_program('copyfile.py')
copy2 = find_program('copyfile2.py')

step_1 = custom_target('step_1',
  input: ['code_source.c', files('header_source.h')],
  output: ['step_1.c', 'step_1.h'],
  command: [copy2, '@INPUT0@', '@OUTPUT0@', '@INPUT1@', '@OUTPUT1@'],
  build_by_default: false)

# test custom target with a single CustomTargetIndex input
step_2_c = custom_target('step_2_c',
  input: step_1[0],
  output: 'step_2.c',
  command: [copy1, '@INPUT0@', '@OUTPUT0@'],
  build_by_default: false)

step_2_h = custom_target('step_2_h',
  input: step_1[1],
  output: 'step_2.h',
  command: [copy1, '@INPUT0@', '@OUTPUT0@'],
  build_by_default: false,
)

# test custom target with multiple CustomTargetIndex inputs
gen = custom_target('step_3',
  input: [step_2_c, step_2_h],
  output: ['gen.c', 'gen.h'],
  command: [copy2, '@INPUT0@', '@OUTPUT0@', '@INPUT1@', '@OUTPUT1@'],
  build_by_default: false)
gen_c = gen[0]
gen_h = gen[1]

exe_separate = executable('exe_separate',
  ['main.c', gen_c, gen_h],
  build_by_default: false,
  install: false,
)

exe_together = executable('exe_together',
  ['main.c', gen],
  build_by_default: false,
  install: false,
)

# also cover passing custom target to tests as arguments
test('exe_separate', exe_separate, args: ['unused1', 'unused2'])
test('exe_together', exe_together, args: gen)