如何在scons中的variant目录中生成目标文件

时间:2013-03-14 05:51:37

标签: scons

我正在使用带有python 2.7.1的scons 我的问题是,我想在build目录中生成目标文件。 但目标文件正在我的源目录中创建。

我的代码是:

env.Library('Liba', Glob(builddir + '/*.c'))

你能告诉我如何生成目标文件inbuild目录

感谢。

1 个答案:

答案 0 :(得分:1)

在SCons术语中,您要求的内容称为变体目录,或简称为VariantDir。您可以使用一些选项将目标放在VariantDir中,如here所述。

您可以使用具有以下语法的VariantDir()函数:

VariantDir(variant_dir, src_dir, [duplicate])

duplicate参数是boolean,表示您是否希望将源代码复制到变量目录。

使用VariantDir的另一种方法是,如果您有SConstruct和SConscript脚本文件的层次结构,当使用SConscript()函数调用子SConscripts时,其中一个参数是variant_dir,详见此处:

SConscript(dirs=subdirs, [name=script, exports, variant_dir, duplicate])

请注意SConscript()函数也有duplicate参数。