cmake介绍(六)--CMake 的构建流程

目录

1. 编写 CMakeLists.txt 文件

示例 CMakeLists.txt 文件

2. 运行 CMake 配置

示例命令

3. 构建项目

示例命令

4. 安装(可选)

示例命令

5. 测试(如果启用)

示例命令

6. 配置选项

示例命令

总结


CMake 的构建流程涉及几个关键步骤,从编写 CMakeLists.txt 文件开始,一直到生成最终的可执行文件或库。以下是详细的构建流程说明:

1. 编写 CMakeLists.txt 文件

CMake 的核心是 CMakeLists.txt 文件,它包含了项目的所有构建信息。这个文件定义了项目的配置、源代码、编译选项以及如何将这些组件组合在一起。

示例 CMakeLists.txt 文件

cmake

深色版本

1cmake_minimum_required(VERSION 3.10) # 设置所需的 CMake 最低版本
2project(MyProject VERSION 1.0 LANGUAGES CXX) # 设置项目名称、版本和使用的语言
3
4set(SOURCE_FILES main.cpp utility.cpp) # 定义源文件列表
5add_executable(${PROJECT_NAME} ${SOURCE_FILES}) # 创建可执行文件
6
7find_package(Boost REQUIRED COMPONENTS system filesystem) # 查找并链接 Boost 库
8target_link_libraries(${PROJECT_NAME} Boost::system Boost::filesystem) # 链接 Boost 库
9
10# 添加测试目标
11enable_testing() # 启用测试支持
12add_subdirectory(tests) # 将测试子目录添加到构建过程中

2. 运行 CMake 配置

接下来,你需要运行 CMake 来生成实际的构建脚本或项目文件。你可以选择不同的生成器,比如 Make、Ninja、Visual Studio 等。

示例命令

bash

深色版本

1mkdir build
2cd build
3cmake .. # 使用默认生成器
4# 或者指定生成器
5cmake -G "Unix Makefiles" ..
6# 或者使用 Ninja
7cmake -G "Ninja" ..

3. 构建项目

一旦 CMake 生成了构建脚本,就可以开始构建项目了。这通常涉及编译源代码、链接库,并生成可执行文件或其他输出。

示例命令

bash

深色版本

1make # 对于 Make 或 Ninja 生成器
2# 或者
3ninja # 如果使用 Ninja 作为生成器

对于 Visual Studio 生成器,你可以打开生成的 .sln 文件并使用 IDE 来构建项目。

4. 安装(可选)

如果需要安装生成的二进制文件到系统目录中,可以使用 install 命令。

示例命令

bash

深色版本

1make install # 对于 Make 生成器
2# 或者
3ninja install # 对于 Ninja 生成器

5. 测试(如果启用)

如果你启用了测试支持并通过 add_subdirectory(tests) 添加了测试目录,则可以运行测试。

示例命令

bash

深色版本

1ctest # 运行所有测试

6. 配置选项

在运行 CMake 时,可以通过命令行传递配置选项来定制构建过程。例如,你可以指定是否启用调试信息、是否构建某个特定的目标等。

示例命令

bash

深色版本

1cmake .. -DCMAKE_BUILD_TYPE=Debug # 启用调试信息
2cmake .. -DBUILD_TESTS=ON # 构建测试目标

总结

CMake 的构建流程大致如下:

  1. 编写 CMakeLists.txt 文件:定义项目的构建逻辑。
  2. 运行 CMake:配置并生成构建脚本。
  3. 构建项目:编译和链接源代码。
  4. 安装:将二进制文件安装到系统目录(可选)。
  5. 测试:运行测试用例(如果启用了测试支持)。

通过这种方式,CMake 提供了一个统一且灵活的方式来管理和构建跨平台的项目。

你可能感兴趣的:(cmake)