🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

📌 CMake 构建流程概述

🔧 标准构建流程(4步)

步骤 1:准备项目结构

步骤 2:编写 CMakeLists.txt

步骤 3:创建构建目录并配置(源外构建)

步骤 4:构建项目

📊 完整流程图

🛠️ 常用命令汇总

💡 最佳实践建议

🔗 可选扩展功能


img

根据搜索结果,我为您整理了 CMake 构建流程 的完整说明:


📌 CMake 构建流程概述

CMake 是一个跨平台的构建系统生成器,它不直接编译代码,而是根据 CMakeLists.txt 配置文件生成对应平台的构建文件(如 Makefile、Visual Studio 工程文件等)。


🔧 标准构建流程(4步)

步骤 1:准备项目结构

my_project/
├── CMakeLists.txt      # 构建配置文件
├── src/
│   └── main.cpp        # 源代码
└── include/
    └── my_header.h     # 头文件

步骤 2:编写 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)  # 指定最低CMake版本
project(MyProject VERSION 1.0)        # 项目名称和版本

# 设置C++标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 添加可执行文件
add_executable(MyApp src/main.cpp)

# 添加头文件搜索路径
target_include_directories(MyApp PRIVATE include)

步骤 3:创建构建目录并配置(源外构建)

mkdir build          # 创建构建目录(推荐与源码分离)
cd build
cmake ..             # 生成构建文件(Makefile/VS工程文件等)

步骤 4:构建项目

cmake --build .      # 编译项目
# 或
make                 # Linux/Mac
# 或
cmake --build . --config Release  # 指定构建类型

📊 完整流程图

┌─────────────────┐
│  项目源码目录    │
│  (CMakeLists.txt)│
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  cmake ..       │  ← 配置阶段:生成构建文件
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  build/ 目录    │
│  (Makefile等)   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  cmake --build  │  ← 构建阶段:编译链接
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  可执行文件/库   │
└─────────────────┘

🛠️ 常用命令汇总

命令 说明
cmake .. 配置项目,生成构建文件
cmake --build . 编译项目
cmake --build . --target clean 清理构建
cmake --install . 安装项目
cpack 打包项目

💡 最佳实践建议

  1. 源外构建:始终在独立的 build 目录中构建,保持源码干净
  2. 指定CMake版本:使用 cmake_minimum_required 确保兼容性
  3. 使用现代CMake:优先使用 target_* 命令而非全局变量
  4. 依赖管理:可使用 FetchContentfind_package 管理外部依赖
  5. 多配置支持:支持 Debug/Release 等多种构建类型

🔗 可选扩展功能

  • 测试:使用 enable_testing()add_test() 添加测试
  • 安装:使用 install() 命令定义安装规则
  • 打包:使用 CPack 生成发布包(.deb、.rpm、.zip等)
  • 子项目:使用 add_subdirectory() 管理多模块项目

这套流程适用于从简单命令行项目到大型跨平台项目的各种场景,配合 IDE(如 CLion、VS Code、Visual Studio)可实现更高效的开发体验。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐