waf - 将 --all 选项添加到 wscript
问题描述
我在我的顶部定义了几个目标wscript
,我们称之为它们build_a
,build_b
并且build_c
。
如何all
向我的wscript
中添加一个函数,以构建所有这些目标(无论是顺序还是并行都无关紧要)。
所以在虚拟python代码中,我期望这样的东西:
def all():
tar = ['configure', 'build_a', 'build_b', 'build_c']
解决方案
编写命令很简单:
from waflib import Options
def all(bld):
commands_after = Options.commands
Options.commands = ['configure', 'build_a', 'build_b', 'build_c']
Options.commands += commands_after
参见https://waf.io/book/#_custom_commands(§7.1.2命令组合)
waf 在处理时使用 Options.commands。所以你可以使用:
waf all test
# equivalent to waf configure build_a build_b build_c test