Я использую SCons для создания своего проекта.
Сторонняя библиотека, которую я интегрировал, также использует SCons, но ее можно обновить из Git в любое время, и я не могу контролировать содержимое ее SConstruct
файла.
При самостоятельной компиляции файл SConstruct
библиотеки принимает параметры bits=32/64
и target=debug/release
.
Я пытался создать его с помощью env.SConscript()
, но он не передает параметры в форме, которую принимает целевой файл SConstruct
(без использования функции Import()
SCons):
# Compile Godot-CPP, a wrapper library we depend on
if nuclex._is_debug_build(environment):
compile_godot_cpp = environment.SConscript(
'addons/godot-cpp/SConstruct', export='bits=64 target=debug'
)
else:
compile_godot_cpp = environment.SConscript(
'addons/godot-cpp/SConstruct', export='bits=64 target=release'
)
Могу ли я скомпилировать еще один SConstruct
файл и передать ему параметры, как если бы SCons был вызван из командной строки самостоятельно?
Я знаю, что мог бы просто использовать env.Command()
для запуска другого процесса SCons, но тогда SCons не мог распараллелить сборку (т.е. scons -j16
), как это происходит в случае env.SConscript()
.