概述
通常我们使用cmake或makefile来构建一个c++的系统,但如果只是使用这两个工具之一的话,我们需要将工程所有依赖库和头文件都手动添加进去,会很不灵活,不利于升级和维护。
另一方便,公司级的标准库需要放在一个统一的地方,方便给个团队使用。
本文介绍一种构建框架将业务代码与公司标准组件(库)进行解耦合。
方案
将所有的标准库放在git上;
提供业务系统依赖的标准库目录地址和commit code,通过commit code确保依赖库不会随着版本更新而发生变动;
编译时先将依赖的标准库clone下来,然后进行编译(cmake或make),生成库文件(.a或.so),同时将头文件拷贝到output/include文件夹中;
最后编译业务代码,在CMAKE中填写进依赖的标准库头文件目录,以及链接时的静态或动态库地址;