waf中子项目的不同标志集

时间:2013-12-26 10:01:32

标签: c++ build waf

我仍在努力为waf设置子项目的不同标志集。

我有这样的结构,其中superproject递归到子项目:

superproject/wscript 
   libproject/wscript
   progproject/wscript

问题是子项目progrprojectlibproject都使用了提升工具。

我希望两个项目在配置时检查提升,因为我希望项目在独立构建时是自包含的。

我必须做这样的事情,不要覆盖子项目之间的提升标志:

#In libproject
cfg.check_boost('regex', uselib_store='BOOST_LIBPROJECT')

#In progrpoject
cfg.check_boost('program_options', uselib_store='BOOST_PROGPROJECT')

这会产生副作用,即选项--boost-libs--boost-includes默认不再有效。

实际上,我想为两者使用默认的BOOST存储,但似乎在_cache.py文件中覆盖了另一个。如果我单独构建项目并分开,则不会发生此问题。我认为设置另一个环境不是解决方案(对吧?) 因为这会使命令变为./waf build_libproject或类似,这不是我想要的。

我想:

./ waf configure build

无需使用不同的商店或预防性标志名称更改即可正确运行。

这样做的正确方法是什么?

0 个答案:

没有答案