Cmake组件化构建大型软件项目松耦合方案。
CMake的背景知识
这里简短介绍一下makefile的原理。
生成hello(hello.exe)所需要执行的bash命令:gcc -v -o hello hello.c 。
该过程可拆解为4个步骤:预处理、编译、汇编、链接。大部分情况下,不需要拆分成这四步来完成文件的生成,一般都是直接生成二进制.o文件,然后链接成可执行文件(或者动态库.so .dll 或者静态库.a .lib)。

具体的Makefile编写规则可以参考:九张图记住Makefile。
传统Linux的构建工具是Makefile,功能极其强大但是却存在一些缺点。
- 难以书写,维护者需要关注太多的细节
- 不能跨平台
CMake自身并不能完成构建,它只会生成构建所需的Makefile,最终的构建仍然由Makefile来完成。
CMake的优势
- 屏蔽了Makefile中的很多细节,使得编写更为简单,如.h和.c的依赖
- 跨平台:Linux、Windows、Macos、Unix
- Out-of source
本文介绍了CMake作为Makefile替代工具的优势,如简化编写、跨平台和Out-of-source build特性。通过示例展示了CMakeLists.txt的基本用法,包括添加可执行文件、库、自定义目标和外部项目。此外,讨论了CMake的Debug和Release模式,以及在构建大型项目中的组件化构建策略,强调了CMake与源代码、单板分支的解耦。
订阅专栏 解锁全文

8881

被折叠的 条评论
为什么被折叠?



