寻求可一次性构建多配置C++项目、优化编译缓存的工具
C++多宏配置编译的高效缓存工具需求
背景
我的母语并非英语,若有语言表达失误,敬请谅解:-)
我维护一个C++项目,里面有大量用于控制功能开关的宏定义,每个宏都能单独启用或禁用。项目的不同配置共享核心代码,但核心代码里也夹杂着这些功能控制宏,导致ccache的缓存效果很差。
当前编译流程
目前使用以下脚本完成编译:
cd build cmake .. ${some options...} make
现存问题
这种方式虽然能正常编译,但每次用不同的cmake选项设置不同宏时,大部分代码都会被重复编译,浪费大量的计算资源和时间。
期望的工具能力
我需要一款工具能支持类似这样的工作流程:
cd build build-make-file .. --futures="future1,future2,...,futureN" make
执行后可以一次性生成所有指定配置对应的二进制文件。这类工具需要更复杂的缓存机制,比如缓存AST或者机器码,能够把代码拆分成更细的单元来进行缓存管理。
疑问
请问是否存在具备这类功能的工具?
内容的提问来源于stack exchange,提问作者TES286
相关产品推荐
相关产品推荐

