我如何使用基于规则的任务生成器目标在Waf的源目录中输出?

问题描述 投票:0回答:1

我的wscript文件为:-

def build(bld):

    bld(
        rule = 'cp ${SRC} ${TGT}',
        source = 'a.txt',
        target = 'b.txt',
    )

默认情况下,将在构建目录build/b.txt中创建输出目标,但是,我希望在当前wscript文件所在的源目录中创建目标。我尝试过的一种方法是:-

def build(bld):

    bld(
        rule = 'cp ${SRC} b.txt',
        source = 'a.txt',
        cwd = './',
    )

这会在相对于当前wscript文件的源目录中输出b.txt,但是我面临的问题是由于我没有提供目标,我失去了自动依赖项计算或重建功能。

python build-system waf
1个回答
0
投票

我终于想出了一种方法。我们可以做的就是将节点对象传递给目标。

def build(bld):

    bld(
        rule = 'cp ${SRC} ${TGT}',
        source = 'a.txt',
        target = bld.path.make_node('/path_you_want/b.txt')
    )
© www.soinside.com 2019 - 2024. All rights reserved.