您的问题是您没有为doxygen命令定义变体。你应该添加如下内容:
variants = ['a', 'b'] for variant in variants: dox = "doxygen" class tmp(BuildContext): __doc__ = '''executes the {} of {}'''.format(dox, variant) cmd = dox + '_' + variant fun = dox variant = variant
最小的工作示例:
def configure(conf): pass def doxygen(bld): print "variant =", bld.variant # Create build commands with variants from waflib.Build import BuildContext variants = ['a', 'b'] for variant in variants: dox = "doxygen" class tmp(BuildContext): __doc__ = '''executes the {} of {}'''.format(dox, variant) cmd = dox + '_' + variant fun = dox variant = variant