parent
03a0d3ddfb
commit
3cac6ea545
10 changed files with 68 additions and 6 deletions
@ -0,0 +1,4 @@ |
|||||||
|
## generator.process() gains 'env' keyword argument |
||||||
|
|
||||||
|
Like the kwarg of the same name in `custom_target()`, `env` allows |
||||||
|
you to set the environment in which the generator will process inputs. |
@ -0,0 +1,11 @@ |
|||||||
|
#!/usr/bin/env python3 |
||||||
|
import os |
||||||
|
import sys |
||||||
|
|
||||||
|
ENV_VAR_VALUE = os.environ.get('ENV_VAR_VALUE') |
||||||
|
assert ENV_VAR_VALUE is not None |
||||||
|
|
||||||
|
with open(sys.argv[1], 'r') as infile, \ |
||||||
|
open(sys.argv[2], 'w') as outfile: |
||||||
|
|
||||||
|
outfile.write(infile.read().replace('ENV_VAR_VALUE', ENV_VAR_VALUE)) |
@ -0,0 +1,3 @@ |
|||||||
|
int main(void) { |
||||||
|
return ENV_VAR_VALUE; |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
project('test_env_in_generator_process', 'c') |
||||||
|
|
||||||
|
generate_main_py = find_program('generate_main.py') |
||||||
|
|
||||||
|
main_generator = generator(generate_main_py, |
||||||
|
arguments: ['@INPUT@', '@OUTPUT@'], |
||||||
|
output: '@BASENAME@' + '.c' |
||||||
|
) |
||||||
|
|
||||||
|
main_template = files('main.template') |
||||||
|
|
||||||
|
# With explicit values |
||||||
|
my_executable = executable('myexecutable', main_generator.process(main_template, env: {'ENV_VAR_VALUE': '0'})) |
||||||
|
test('explicit_value', my_executable) |
||||||
|
|
||||||
|
# With env object |
||||||
|
env = environment() |
||||||
|
env.set('ENV_VAR_VALUE', '0') |
||||||
|
|
||||||
|
my_executable2 = executable('myexecutable2', main_generator.process(main_template, env: env)) |
||||||
|
test('env_object', my_executable2) |
Loading…
Reference in new issue