如何将文件从项目目录复制到外部项目目录?

时间:2013-05-22 09:03:10

标签: build copy scons

当我想要将指向点的路径指向项目目录之外时,Scons Copy构建器不会执行任何操作。有没有办法让它真正做到这一点?以下是或多或少的测试用例:

p4_dir = '../../../documents'

def prefix_dir(files, *directory):
    if not type(directory) is tuple:
        directory = (directory,)
    return [os.path.realpath(
        os.path.join(*(directory + (f,))).replace('\\', '/')) for f in files]

def p4doc():
    for x, y in zip(prefix_dir(p4_goodies, Dir('.').abspath, p4_dir), p4_goodies):
        print 'copying to: %s from: %s' % (x, y)
        Command(x, y, [Delete("$TARGET"), Copy("$TARGET", "$SOURCE")])

p4doc()

此外,当它复制时,它并不真正复制它被告知要复制的文件,它会将所有目标提供给构建器,它会调用此操作......您可以替换$TARGET和{{ 1 {}在$SOURCE命令中包含任何字符串。鉴于它没有双点,所有构建器的源都将被复制。现在这不仅仅是错误的......这是设计上的愚蠢:|

1 个答案:

答案 0 :(得分:0)

您可以尝试Install() builder。它复制/安装的文件应该是SCons目标,如果不是,它们可能不会被复制。