【发布时间】:2013-02-18 15:21:13
【问题描述】:
我在 SCons 的并行构建中遇到了目录依赖问题。 考虑以下(简化的)层次结构中具有单个 SConstruct 的两个项目:
- SConstruct
- project1
- src
- project2
- src
- build
- project1
- project2
- dist
- project1
- project2
project1 和 project2 都应该构建在相关的构建目录下(使用变体目录),并且需要在相关的 dist 目录下安装几个目标。
项目 2 依赖于项目 1 的 dist。我已经使用Depends() 语句明确声明了这种依赖关系,如下所示:
Depends('project2', 'dist/project1')
当我使用非并行构建时,没有问题。项目 1 已完全构建,目标安装在 dist 目录中,然后才构建项目 2。但是,当我使用多个作业 (4) 时,项目 2 正在同时构建,而 Install() 构建器正在为需要安装在项目 1 的 dist 目录中的文件运行。
所以,我的问题是:
-
Depends(project2, dist/project1)语句是指dist/project1目录的创建还是该目录所有子目录的构建完成? - 我应该如何解决这个问题?
非常感谢,
BugK.
【问题讨论】: