CMake的一些基础写法

不要想着骚操作。基本参考维基教科书:CMake入门。然而因为这个教科书已经停止更新了,所以参考CMake官方网站的教程CMake Tutorial

最简单的编译一个源文件的CMakeLists.txt

天才第一步,“Hello world”。写一个输出hello world的main.cc(这里用的是谷歌代码规范的命名规则)。然后同目录放一个包含以下内容的CMakeLists.txt:

cmake_minimum_required (VERSION 2.6)

project(helloworld)
add_executable(helloworld main.cc)

第一行指示要求的cmake最低版本,没有也行;第二行是project名字;第三行是指示编译一个可执行文件helloworld涉及的源代码文件是main.cc。

在这个目录下cmake .,cmake就会输出一个包含makefile的build文件夹,在build文件夹里make,就会输出可执行文件helloworld。

这种叫做In-source build(虽然实际上已经有点out-source的感觉了)。

Out-Source Build

为了不污染源代码,首先把main.cc和CMakeLists.txt放到src文件夹里,然后在src文件夹同目录自己建一个build文件夹,然后build文件夹里cmake ../src,这样就把cmake生成的build需要的东西和源代码分开了。

如果需要调整什么,只需要把build里面的直接删掉,重新cmake就可以了,不会影响源代码那边。