Can specify extra arguments to generator commands. Closes #315.
parent
2024d9d237
commit
913963d608
8 changed files with 66 additions and 7 deletions
@ -0,0 +1,13 @@ |
||||
project('extra args in gen', 'c') |
||||
|
||||
prog = find_program('srcgen.py') |
||||
|
||||
gen = generator(prog, |
||||
output : '@BASENAME@.c', |
||||
arguments : ['--input=@INPUT@', '--output=@OUTPUT@', '@EXTRA_ARGS@']) |
||||
|
||||
g1 = gen.process('name.dat') |
||||
g2 = gen.process('name.dat', extra_args: '--upper') |
||||
|
||||
test('basic', executable('basic', 'plain.c', g1)) |
||||
test('upper', executable('upper', 'upper.c', g2)) |
@ -0,0 +1 @@ |
||||
bob_mcbob |
@ -0,0 +1,5 @@ |
||||
int bob_mcbob(); |
||||
|
||||
int main(int argc, char **argv) { |
||||
return bob_mcbob(); |
||||
} |
@ -0,0 +1,26 @@ |
||||
#!/usr/bin/env python3 |
||||
|
||||
import sys |
||||
import os |
||||
import argparse |
||||
|
||||
parser = argparse.ArgumentParser() |
||||
parser.add_argument('--input', dest='input', |
||||
help='the input file') |
||||
parser.add_argument('--output', dest='output', |
||||
help='the output file') |
||||
parser.add_argument('--upper', dest='upper', action='store_true', default=False, |
||||
help='Convert to upper case.') |
||||
|
||||
c_templ = '''int %s() { |
||||
return 0; |
||||
} |
||||
''' |
||||
|
||||
options = parser.parse_args(sys.argv[1:]) |
||||
|
||||
funcname = open(options.input).readline().strip() |
||||
if options.upper: |
||||
funcname = funcname.upper() |
||||
|
||||
open(options.output, 'w').write(c_templ % funcname) |
@ -0,0 +1,5 @@ |
||||
int BOB_MCBOB(); |
||||
|
||||
int main(int argc, char **argv) { |
||||
return BOB_MCBOB(); |
||||
} |
Loading…
Reference in new issue