作用
將編譯生成的文件和源代碼目錄相互分離
調用格式
VariantDir(variant_dir, src_dir, [duplicate])
env.VariantDir(variant_dir, src_dir, [duplicate])
SConscript(script, variant_dir, duplicate)
- variant_dir 編譯文件的生成目錄,一般不能位於src_dir目錄下
- src_dir 源代碼目錄
- duplicate: 0 -- 不復制源代碼的生成目錄 1--複製源代碼到生成目錄 (未指定時,默認=1)
# 注意Sconscript文件中的源文件和目標文件應使用相對路徑
# 否則編譯生成的文件將按照絕對路徑生成起不到源文件和編譯生成文件相互隔離的目的
VariantDir在同一個文件中可以調用多次(一般用來編譯多個目標)
示例1:
VariantDir('build','src',duplicate=0)
SConscript('build/Sconscript') # 這裏應當指定生成目錄下的SConscript文件
生成後的文件目錄如下所示:
示例2:
SConscript('src/SConscript', variant_dir='build', duplicate=0)
效果與示例1一致