scons 如何判断不同的 OS 并相应地构建不同的 SConscript?

How scons tell different OS adn build different SConscript accordingly?

我有几个源代码目录,一些用于 linux,一些用于 mac,等等。我如何在我的 SConstruct 中指定,在 linux 下,请执行:

SConscript(dirs=['linux'],     variant_dir='linux/build',     duplicate=0);

以及在其他操作系统下,执行其他SConscript命令?

有没有方便的方法来指定这个?

@jszakmeiter 的评论不错

另一种方法可能是将代码的目录名称与 sys.platform 的值相匹配,然后使用:

SConscript(dirs=[sys.platform],     variant_dir='%s/build'%sys.platform,     duplicate=0);

附带说明一下,我通常建议将变体目录作为源目录的兄弟而不是子目录。

SConscript(dirs=[sys.platform],     variant_dir='build/%s'%sys.platform,     duplicate=0);