summaryrefslogtreecommitdiffstats
path: root/test cases/common/49 custom target/meson.build
blob: a51e526f6a41c58a594d0a7a569a3ce8b7d8b8ef (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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
project('custom target')

python = find_program('python3', required : false)
if not python.found()
  python = find_program('python')
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')
# Test that files() in command: works. The compiler just discards it.
useless = files('test.json')

mytarget = custom_target('bindat',
output : 'data.dat',
input : 'data_source.txt',
command : [python, comp, '--input=@INPUT@', '--output=@OUTPUT@', useless],
env: {'MY_COMPILER_ENV': 'value'},
install : true,
install_dir : 'subdir'
)

has_not_changed = false
if is_disabler(mytarget)
    has_not_changed = true
else
    has_not_changed = true
endif
assert(has_not_changed, 'Custom target has changed.')

assert(not is_disabler(mytarget), 'Custom target is a disabler.')

mytarget_disabler = custom_target('bindat',
output : 'data.dat',
input : 'data_source.txt',
command : [disabler(), comp, '--input=@INPUT@', '--output=@OUTPUT@', useless],
install : true,
install_dir : 'subdir'
)

if mytarget_disabler.found()
  mytarget_disabled = false
else
  mytarget_disabled = true
endif

assert(mytarget_disabled, 'Disabled custom target should not be found.')

mytarget_ci = custom_target('bindat_ci',
output : 'data_ci.dat',
input : 'data_source.txt',
command : [python, comp, '--input=@INPUT@', '--output=@OUTPUT@', mytarget.to_list()],
)

mytarget_disabler = custom_target('bindat',
output : 'data.dat',
input : disabler(),
command : [python, comp, '--input=@INPUT@', '--output=@OUTPUT@', useless],
install : true,
install_dir : 'subdir'
)

assert(is_disabler(mytarget_disabler), 'Disabled custom target is not a disabler.')

if mytarget_disabler.found()
  mytarget_disabled = false
else
  mytarget_disabled = true
endif

assert(mytarget_disabled, 'Disabled custom target should not be found.')

subdir('depfile')