The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.7 KiB
68 lines
1.7 KiB
5 years ago
|
project('custom target', 'c')
|
||
|
|
||
|
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],
|
||
4 years ago
|
env: {'MY_COMPILER_ENV': 'value'},
|
||
5 years ago
|
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_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')
|