summaryrefslogtreecommitdiffstats
path: root/test cases/common/214 source set custom target/meson.build
blob: fe6e6e18bab2a3840eaabb85024e84d28eb63374 (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
# Try using sourceset with various kinds of generated sources

project('a', 'c')

cp = find_program('cp.py')

source_set = import('sourceset')
sources = source_set.source_set()

a_c = custom_target('gen-custom-target',
                    input: 'a.c', output: 'out_a.c',
                    command: [cp, '@INPUT@', '@OUTPUT@'])
sources.add(when: 'YES', if_true: a_c)
sources.add(when: 'YES', if_true: a_c[0])

f_c = configure_file(input: 'f.c', output: 'out_f.c', copy: true)
sources.add(when: 'YES', if_true: f_c)
sources.add(when: 'YES', if_true: f_c)

gen = generator(cp, output: 'out_@PLAINNAME@', arguments: ['@INPUT@', '@OUTPUT@'])
g_c = gen.process(files('g.c'))
sources.add(when: 'YES', if_true: g_c)
sources.add(when: 'YES', if_true: g_c)

conf1 = { 'YES': true, }
result1 = sources.apply(conf1)

executable('first', sources: result1.sources(), dependencies: result1.dependencies())