cmake
介绍
AI介绍
CMake 是一个 跨平台的开源构建系统,用于自动化 编译、测试和打包 软件项目。它不直接构建代码,而是 生成标准的构建文件(如 Makefile、Visual Studio 项目、Xcode 项目等),从而支持多种编译器和开发环境。
CMake 采用 声明式语法(CMakeLists.txt),允许开发者定义项目的结构、依赖和构建规则,而无需关心底层平台的差异。它被广泛用于 C/C++ 项目,但也支持其他语言(如 Python、Fortran)。
核心特点
✅ 跨平台支持(Windows、Linux、macOS、嵌入式系统等)
✅ 多生成器支持(Makefile、Ninja、VS、Xcode 等)
✅ 模块化设计 - 支持查找依赖库(如 find_package())
✅ 强大的脚本功能 - 支持条件判断、循环、函数等
✅ 与 IDE 集成(CLion、VS Code、Qt Creator 等)
✅ 测试与打包(CTest、CPack)
典型用途
🔹 管理大型 C/C++ 项目(如 LLVM、KDE、OpenCV)
🔹 跨平台开发(避免手动维护多个构建系统)
🔹 自动化依赖管理(集成第三方库如 Boost、OpenSSL)
🔹 生成 IDE 项目文件(VS 解决方案、Xcode 项目)
基本语法示例
cmake_minimum_required(VERSION 3.10) # 最低 CMake 版本
project(MyApp) # 项目名称
# 添加可执行文件
add_executable(my_app main.cpp)
# 查找并链接库(如 OpenSSL)
find_package(OpenSSL REQUIRED)
target_link_libraries(my_app PRIVATE OpenSSL::SSL) 工作流程
- 编写
CMakeLists.txt(定义构建规则) - 生成构建系统(如 Makefile):
- 编译项目: