如何处理目录之外的构建文件

时间:2015-01-02 19:30:20

标签: scons

我有一个构建设置,我正在努力解决如何处理一个方面。 我已成功为我的项目文件夹src构建输出设置了variantdir,但我有 位于需要构建和包含的项目文件夹之外的源。

我能够将我需要的文件添加到构建中,但是目标文件被放入库源文件所在的外部目录中。

有没有一种标准方法可以解决这个问题。我想避免将任何scons文件添加到外部目录,因为它是一个标准的工具。

我尝试的是Mkdir()临时文件夹,Copy()文件,以及构建文件。这似乎有效,但只是第一次将文件权限设置为只读。此外,让它工作的唯一方法似乎是使用Execute()命令,该命令导致操作在每次构建时发生。

2 个答案:

答案 0 :(得分:1)

查看Repository()方法(参见http://scons.org/doc/production/HTML/scons-user.html#chap-repositories中的SCons UserGuide)。它允许您将文件夹“挂载”到源树的顶层。然后你可以在本地引用它们,并为你的变量dir指定“duplicate = 1”应该保持你的远程文件夹不受构建文件的影响。 希望这会有所帮助...

答案 1 :(得分:0)

通过在外部目录中构建对象,然后使用Move()Factory移动目标文件,我能够获得我正在寻找的功能。

如果有人可以指出更多的方法,请告诉我们。