对于 CMake ,我一直理解为项目构建工具,直到遇到 --build 才发现,CMake 还统一了各个平台的编译阶段。要了解 CMake 的构建和编译,首先需要了解生成器。 一、生成器 CMake 生成器负责为底层构建系统编写输入文件(例如Makefile)。运行cmake --help将显示可用的 ...
CMake 的流行根本不是因为设计精妙,而是因为 C++ 生态烂到只能靠它续命。 我干开发 20 多年,亲眼见过好多团队被构建系统拖垮:Windows 上能跑,Linux 上链接失败;Debug 能编,Release 崩溃;换个 IDE 整个项目直接废废。 在那个没有统一标准的年代,CMake 没有追求优雅,只做了一件事:让不同平台、不同编译器、不同 ...