解决compile_commands 生成慢,采用缓存方式进行加速优化

原理:

compile_commands.json是由代码仓中的CMakeList.txt文件决定,开发人员只要改动了CMakeList.txt 或则.cmake后缀文件就可能导致变化

方案:将每次Cmake完成后,使用脚本导出的Compile_commands.json文件和代码仓中的CMake文件内容Hash之后进行关联。 Hash作为key进行compile_commands.json的缓存

上传流程如图

cmake buildcacheget Hash Cachereturn null开始构建json文件,大约2分钟building compile_commands.jsonupload Key->compile_commandscache okcmake buildcache

有缓存下载:

cmake buildcacheget Hash Cachereturn ok and zip file解压文件包大约7sdecode and copy compile_commands.json to right placecmake buildcache
文档更新时间: 2022-07-27 23:06   作者:suglow