Как остановить сборку SCons, если какой-либо SConscript отсутствует? - PullRequest
0 голосов
/ 21 декабря 2018

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, и показать сборку как неудачную?

1 Ответ

0 голосов
/ 22 декабря 2018

В исправительной версии SCons есть исправление, которое должно появиться в следующем выпуске 3.0.2.

Надеюсь, 3.0.2 выйдет до конца года.

...