如何在介子中链接两个custom_targets?



两个正确构建我的目标,我需要在介子中链接两个自定义命令:

  • gob2 - 将 .gob 文件转换为一对 .c 和 .h 文件
  • patch_src - 一个小型的python程序,可以制作gob2输出的一小部分。

但是我不知道如何给 patch_src 命令 gob2 程序的输出作为输入。如果我执行以下操作:

gob2 = find_program('gob2')
patch_src = find_program('patch_src')
gen_src = custom_target('gen-output',
output : ['gtk-image-viewer.h','gtk-image-viewer-private.h','gtk-image-viewer.c'],
input : 'gtk-image-viewer.gob',
command : [gob2, '-o', '@OUTDIR@', '@INPUT@'],
)
fixed_src = custom_target('patch-output',
output : ['gtk-image-viewer-fixed.c'],
input : 'gtk-image-viewer.c',
command : [patch_src, 'gtk-image-viewer.c','@OUTPUT@'],
)

我显然得到一个错误,即找不到gtk-image-viewer.c,这是有道理的,因为它被写入@OUTPUTDIR@.但是我如何指定介子在@OUTPUTDIR@中寻找gtk-image-viewer.c

例如,您可以将gen_src[3]作为input直接传递,介子将设置依赖项并使用正确的路径。

fixed_src = custom_target('patch-output',
output : ['gtk-image-viewer-fixed.c'],
input  : gen_src[3],
command : [patch_src, '@INPUT@','@OUTPUT@'],
)

相关内容

  • 没有找到相关文章

最新更新