CMake 基础用法

CMake 基础用法

CMake 基于平台分为两个版本,分别为命令行 CLI 版本,图形界面 GUI 版本。CLI 版本一般用于 Linux 系统中,GUI 版本易于在 Windows 系统中使用,当然 GUI 版本在 Windows 系统中同样也可以使用命令行操作。对于 GUI 版本 CMake 来说图形界面图形化操作可以替代 CMake 的控制命令来操作 CMake。

无论是图形界面 GUI 版本还是命令行 CLI 版本的 CMake,其操作都相对简单,这些操作主要是选择路径,选择生成器,启动构建等等。具体生成生成配置文件的规则部分则由我们通过编写 CMakeLists.txt 文件来实现。

1. GUI 版本

注意: 使用前的一个重要前提是已经编写好了 CMakeLists.txt 文件,因为 CMake 运行构建是需要该文件作为输入的。

1.1 启动 CMake

对于使用 GUI 版本的 CMake第一步当然是启动 CMake 的图形界面,启动后电脑桌面上将呈现如下图所示样式的窗口。

CMake 基础用法_第1张图片

1.2 路径选择

在构建之前需要选择待构建工程的 CMakeLists.txt 所在目录,以及构建输出文件的存放目录。

Where is source code 文本框用于显示待构建工程的 CMakeLists.txt 文件所在的目录(即待构建项目的根目录)点击右边的 Browse Source 为 CMake 选择 CMakeLists.txt 路径。

Where to build the binarys 文本框用于显示构建输出文件的存放目录,一般我们会将构建输出文件的存放目录名称命名为 build,点击右边的 Browse Build 按钮选择构建路径。

以上两个目录都选择完成后点击 Configure 按钮,来选择我们需要的生成器。

CMake 基础用法_第2张图片

1.3 选择生成器

CMake 用于生成配置文件的部件称为 生成器。不同的生成器用于生成不同构建工具的配置。

上一步点击 Configure 按钮之后将弹出如下的窗口,生成器可以通过下拉列表选择,下拉列表会列出已有的生成器,在下拉列表中为待构建工程选择合适的生成器。

CMake 基础用法_第3张图片

选择好生成器之后,编译器选择 Use default native compilers 选项,选择完成后点击 Finish 按钮开始配置。

CMake 基础用法_第4张图片

配置完成后如下图

CMake 基础用法_第5张图片

配置完成后在信息输出框显示 Configuring done,其中中间的窗口会出现许多红色条目,这些都是项目可用的变量及其参数值,变量的值可以点击红色区域进行更改。每当我们对 CMake 变量值有了新的改动,都需要点击 Configure 按钮,直到所有红色条目都变成白色,且没有编译错误才算完成。

1.4 构建项目

点击 Generate 按钮即开始构建项目,在构建文件输出目录输出构建工具需要的文件,

比如输出构建工具 Make 构建工程时需要的 Makefile 文件。

CMake 基础用法_第6张图片

2. CLI 版本

注意: 使用前的一个重要前提是已经编写好了 CMakeLists.txt 文件,因为 CMake 运行构建是需要该文件作为输入的。

2.1 生成配置

准备一个子文件夹作为 构建目录,习惯上命名为 build。用 cmake 命令在该目录中生成构建工具的配置。

mkdir build
cd build
cmake -G"MinGW Makefiles" ..

-G 选项表示选择生成器的类型,比如这里选择了 "MinGW Makefiles" 类型的生成器,如果不添加该选项则 CMake 使用默认的生成器。要查看生成器的列表,用 cmake -h 命令(带 * 号的是默认的生成器)例如执行该命令后输出如下内容。

$ cmake -h
Generators

The following generators are available on this platform (* marks default):
  Visual Studio 17 2022        = Generates Visual Studio 2022 project files.
                                 Use -A option to specify architecture.
* Visual Studio 16 2019        = Generates Visual Studio 2019 project files.
                                 Use -A option to specify architecture.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.

.. 表示要在 cmake 命令之后跟上 源目录(即源文件所在目录)的路径,此处为 build 的父目录即 ..

2.2 构建项目

在构建目录生成构建工具的配置(例如 make 的 Makefile 文件)后,紧接着就可以调用构建工具开始构建项目了。要调用构建工具,用 --build 选项。选项之后要跟上构建目录的路径。在本示例中,如果是在构建目录中执行该命令,就是当前目录 .。构建项目使用命令如下

$ cmake --build .

执行该命令时,带上 -v 选项,此时 CMake 会显示实际执行的每个编译和链接命令。

在 Linux 上使用 make 或者在 Windows 上使用 MinGW64 时,生成的可执行文件位于构建目录中即 build 文件夹。

在构建大型项目时,为了加快编译速度,常常向构建工具传递 -j4-m:4 选项来启用 多线程编译。使用命令如下

$ cmake --build . -- -m:4

3. 注意事项

  • 每次执行 cmake 命令之前删除缓存。
  • 执行命令 cd build/ 进入我们创建的 build 目录。
  • 执行命令 cmake -G "MinGW Makefiles" ../ (非常重要,进入上一级目录,因为进入了 build/ 目录后 CMakeLists.txt 文件就在 build/ 的上一级目录了。

你可能感兴趣的:(CMake,1024程序员节)