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.

75 lines
1.8 KiB

project('run target', 'c')
# Make it possible to run built programs.
# In cross builds exe_wrapper should be added if it exists.
exe = executable('helloprinter', 'helloprinter.c')
run_target('runhello',
command : [exe, 'argument'])
converter = find_program('converter.py')
hex = custom_target('exe.hex',
input : exe,
output : 'exe.hex',
command : [converter, '@INPUT@', '@OUTPUT@',
],
)
fakeburner = find_program('fakeburner.py')
# These emulates the Arduino flasher application. It sandwiches the filename inside
# a packed argument. Thus we need to declare it manually.
run_target('upload',
command : [fakeburner, 'x:@0@:y'.format(exe.full_path())],
depends : exe,
)
run_target('upload2',
command : [fakeburner, 'x:@0@:y'.format(hex.full_path())],
depends : hex,
)
python3 = find_program('python3', required : false)
if not python3.found()
python3 = find_program('python')
endif
run_target('py3hi',
command : [python3, '-c', 'print("I am Python3.")'])
run_target('check_exists',
command : [find_program('check_exists.py'), files('helloprinter.c')])
run_target('check_exists',
command : [find_program('check_exists.py'), files('helloprinter.c')],
depends : disabler(),
)
run_target('check_exists',
command : [disabler(), files('helloprinter.c')])
# What if the output of a custom_target is the command to
# execute. Obviously this will not work as hex is not an
# executable but test that the output is generated correctly.
run_target('donotrunme',
command : hex)
# Ensure configure files can be passed
conf = configure_file(
input: 'configure.in',
output: 'configure',
configuration: configuration_data()
)
run_target('configure_script',
command : conf
)
# Target names that clash with potential builtin functionality.
run_target('ctags',
command : converter)
run_target('clang-format',
command : converter)