本文为进来学习的总结,记录了学习CmakeList.txt文档的各个步骤,适合从零开始理解CmakeList.txt,可能存在错误之处,望批评指正。
0 Cmake的起源
为什么有CmakeList.txt文档,这就要从C++说起了。在完成C++的代码之后想要把程序运行起来就需要把C++转换成可执行文件,具体来说,编译分为以下四个步骤:
(1)预处理;(2)编译;(3)汇编;(4)链接。
具体来讲,我们可以把前三部看成一个黑盒,调用相应的指令就可以帮助我们直接完成,前三步完成之后会把.c或,cpp为后缀的文件转换成了.o为后缀的文件,第四步可以理解为当我们的程序调用了别的.h或其他的.cpp文件时,需要将这些内容和我们的程序链接到一起。
在ubuntu 系统中可以使用gcc命令来完成以上四步的操作。在windows系统的,我们所使用的IDE,例如visual studio会自动帮我们完成,就不需要我们完成以上步骤了。但使用gcc有如下几个弊端:
(1)每次修改程序过后都要重新写一遍gcc操作语句,麻烦;
(2)每次都要把所有文件全部编译一遍,费时。
基于此,make诞生了,make是一种工具,用来调用makefile,所谓的makefile可以理解为把我们所写的gcc命令打包为一个文件,当我们使用make命令的时候,就会自动调用makefil