Scons在变更时复制文件?

时间:2014-08-17 17:43:03

标签: scons

我有一些额外的文本文件,具有不同的扩展名,我需要将它们复制到bin。现在我正在使用:

files = []

for root, dirs, files in os.walk("extra_src"):
    for file in files:
        files.append(["extra_src" + os.sep + file, "bin" + os.sep + file])


for element in files:
    command = Command(target = element[1], source = element[0], action = Copy("$TARGET", "$SOURCE"))
    Requires(program, command)

有没有其他方法可以让它注册文件并简单地指定所述目录中的所有文件?我可以使用Command(..., Copy("dir1", "dir2"))但它没有检测到更改,也没有清除这些文件的bin。

1 个答案:

答案 0 :(得分:3)

尝试以下方面的内容:

import os # for os.path.join

inst = env.Install('bin', Glob(os.path.join('extra_src','*.*')))
env.Depends(program, inst) # if required

注意,Glob()函数如何查找尚不存在的文件,但是由另一个构建步骤创建。