(一)CMake简介

0 阅读1分钟

CMake 是什么?

CMake 是一款开源、跨平台的构建系统生成器,核心定位是:不直接编译代码,而是帮你生成各个平台能直接用的构建文件。如生成VS的解决方案:.sln文件。

它不吃 “直接编译” 这碗饭,而是当 “翻译官”:你写一份CMakeLists.txt(项目配置脚本),它会根据你的操作系统、编译器、IDE,生成对应的原生构建文件。

比如:Linux 下生成 Makefile,Windows 下生成 Visual Studio 工程(.sln/.vcxproj),macOS 下生成 Xcode 工程。

名字里带 “make”,但和 Unix 的 make 不是一回事,它更高级、更跨平台。

核心原理

流程:代码 + CMakeLists.txt → CMake → 平台原生构建文件 → 构建工具(make/ninja/msbuild)→ 编译器(gcc/clang/msvc)→ 可执行程序 / 库。

你只需要维护一份 CMakeLists.txt,不用为每个平台单独写构建脚本,真正做到 “一次编写,全平台编译”。

将CMake 视为一个项目经理,他懂得以统一的方式向不同国家的工人(平台构建系统)下达清晰的工作指令。而 Makefile 则像是直接写给某一国工人的、极其详尽的工序手册。当项目需要同时在多个“国家”开展时,维护多本不同语言的“工序手册”显然不如雇佣一位“项目经理”来得高效和可靠。