scons - 总是在构建后安装

时间:2014-06-12 16:28:03

标签: scons

我希望scons始终将构建的文件安装在其他几个目录中。

我创建了常用的安装构建器,其中包含用户手册中显示的别名,当我使用scons install时,它会正确安装,但我更喜欢在构建目标后自动运行,我无法弄清楚如何指定依赖项

Target = Program(...)
Env.Alias('install', Env.Install(FinalDir, Target))

目标是否依赖于安装,反之亦然或者我应该使用其他东西吗?

2 个答案:

答案 0 :(得分:2)

您的代码看起来很好。我怀疑你真正想要的是你希望它总是在FinalDir中安装目标,即使你没有指定'install'作为命令行arg,即当你只是说{{ 1}}。在这种情况下,请查看man page中的scons方法。您可以将“安装”别名添加到SCons构建的默认目标集中。 (“默认默认值”,如果您不更改它并且不在命令行上传递任何目标,则是当前目录下的所有内容。)

答案 1 :(得分:0)

我采用错误的方式定义install目标并试图弄清楚如何自动运行它。

我通过将“安装”构建器别名化为我想要安装的实际文件名而不是install来解决它。

Env.Alias('/some/dir/filename', Env.Install('/some/dir', Target))