|
|
|
project('custom target index source', 'c')
|
|
|
|
|
|
|
|
# Test that using a custom target index as a sourcefile works correctly
|
|
|
|
|
|
|
|
copy1 = find_program('copyfile.py')
|
|
|
|
copy2 = find_program('copyfile2.py')
|
|
|
|
|
|
|
|
step_1 = custom_target('step_1',
|
|
|
|
input: ['code_source.c', files('header_source.h')],
|
|
|
|
output: ['step_1.c', 'step_1.h'],
|
|
|
|
command: [copy2, '@INPUT0@', '@OUTPUT0@', '@INPUT1@', '@OUTPUT1@'],
|
|
|
|
build_by_default: false)
|
|
|
|
|
|
|
|
# test custom target with a single CustomTargetIndex input
|
|
|
|
step_2_c = custom_target('step_2_c',
|
|
|
|
input: step_1[0],
|
|
|
|
output: 'step_2.c',
|
|
|
|
command: [copy1, '@INPUT0@', '@OUTPUT0@'],
|
|
|
|
build_by_default: false)
|
|
|
|
|
|
|
|
step_2_h = custom_target('step_2_h',
|
|
|
|
input: step_1[1],
|
|
|
|
output: 'step_2.h',
|
|
|
|
command: [copy1, '@INPUT0@', '@OUTPUT0@'],
|
|
|
|
build_by_default: false,
|
|
|
|
)
|
|
|
|
|
|
|
|
# test custom target with multiple CustomTargetIndex inputs
|
|
|
|
gen = custom_target('step_3',
|
|
|
|
input: [step_2_c, step_2_h],
|
|
|
|
output: ['gen.c', 'gen.h'],
|
|
|
|
command: [copy2, '@INPUT0@', '@OUTPUT0@', '@INPUT1@', '@OUTPUT1@'],
|
|
|
|
build_by_default: false)
|
|
|
|
gen_c = gen[0]
|
|
|
|
gen_h = gen[1]
|
|
|
|
|
|
|
|
exe_separate = executable('exe_separate',
|
|
|
|
['main.c', gen_c, gen_h],
|
|
|
|
build_by_default: false,
|
|
|
|
install: false,
|
|
|
|
)
|
|
|
|
|
|
|
|
exe_together = executable('exe_together',
|
|
|
|
['main.c', gen],
|
|
|
|
build_by_default: false,
|
|
|
|
install: false,
|
|
|
|
)
|
|
|
|
|
|
|
|
# also cover passing custom target to tests as arguments
|
|
|
|
test('exe_separate', exe_separate, args: [gen_c, gen_h])
|
|
|
|
test('exe_together', exe_together, args: gen)
|