如果缺少任何 SConscript,如何停止 SCons 构建



SCons 会继续构建,即使在构建时缺少某些 SConscript 文件。例如,我有这样的源结构:

├── a
│   └── test1.c
├── b
│   ├── SConscript
│   └── test2.c
└── SConstruct

在SConstruct中,我调用了两个SConscript文件,其中一个SConscript丢失了。

SConscript('a/SConscript')
SConscript('b/SConscript')

运行"scons"命令时收到警告消息。

scons: Reading SConscript files ...
scons: warning: Ignoring missing SConscript 'a/SConscript'
File "/home/srbd/workspace/programming/scons_demo/SConstruct", line 1, in <module>
scons: done reading SConscript files.
scons: Building targets ...
gcc -o b/test2.o -c b/test2.c
gcc -o b/test2 b/test2.o
scons: done building targets.

但它表明整体 scons 构建已成功完成。

在我的真实系统中,我有很多源文件夹/文件,其中某些SConscript在构建时可能不存在。当整体构建显示成功时,很难仅通过警告消息来注意到这些丢失的文件。

我在 scons 参数中搜索过,但没有找到有用的参数。

如果缺少其中一个 SConscript 并将构建显示为失败,我是否可以停止构建?

在SCons的开发版本中有一个修复程序,应该在下一个版本3.0.2中。

希望 3.0.2 能在今年年底之前发布。

最新更新