| project('generatorcustom', 'c') |
| |
| creator = find_program('gen.py') |
| catter = find_program('catter.py') |
| gen_resx = find_program('gen-resx.py') |
| |
| gen = generator(creator, |
| output: '@BASENAME@.h', |
| arguments : ['@INPUT@', '@OUTPUT@']) |
| |
| res3 = custom_target('gen-res3', |
| output : 'res3.txt', |
| command : [gen_resx, '@OUTPUT@', '3']) |
| |
| res4 = custom_target('gen-res4', |
| output : 'res4.txt', |
| command : [gen_resx, '@OUTPUT@', '4']) |
| |
| hs = gen.process('res1.txt', 'res2.txt', res3, res4[0]) |
| |
| allinone = custom_target('alltogether', |
| input : hs, |
| output : 'alltogether.h', |
| command : [catter, '@INPUT@', '@OUTPUT@']) |
| |
| proggie = executable('proggie', 'main.c', allinone) |
| |
| test('proggie', proggie) |
| |
| # specifically testing that cross binaries are run with an exe_wrapper |
| if meson.can_run_host_binaries() |
| gen_tool = executable('generator', 'gen.c', native : false) |
| |
| c_gen = generator( |
| gen_tool, |
| output : '@BASENAME@-cpp.h', |
| arguments : ['@INPUT@', '@OUTPUT@'] |
| ) |
| |
| hs2 = c_gen.process('res1.txt') |
| |
| host_exe = executable('host_test', 'host.c', hs2, native : false) |
| test('compiled generator', host_exe) |
| endif |