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);
我有几个源代码目录,一些用于 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);