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 build:无需任何特别设置,就能将所有的中间文件存放在一个临时目录,clean简直太轻松了—— 这一点可比Linux Kernel玩得漂亮,是强迫
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)