| 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') |