Python 如何使用基于规则的任务生成器目标在Waf的源目录内输出?
我的wscript文件如下:-Python 如何使用基于规则的任务生成器目标在Waf的源目录内输出?,python,build-system,waf,Python,Build System,Waf,我的wscript文件如下:- def build(bld): bld( rule = 'cp ${SRC} ${TGT}', source = 'a.txt', target = 'b.txt', ) 默认情况下,输出目标在生成目录build/b.txt中创建, 但是,我希望在当前wscript文件所在的源目录中创建目标。 我尝试过的一种方法是: def build(bld): bld( rule =
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
,但是我面临的问题是,由于我没有提供目标,我丢失了自动依赖项计算或重建。我终于找到了一种方法。
def build(bld):
bld(
rule = 'cp ${SRC} ${TGT}',
source = 'a.txt',
target = bld.path.make_node('/path_you_want/b.txt')
)
我们可以做的是将节点对象传递给目标
def build(bld):
bld(
rule = 'cp ${SRC} ${TGT}',
source = 'a.txt',
target = bld.path.make_node('/path_you_want/b.txt')
)