本篇文章重点介绍 CMakeLists.txt 的基础语法和常用指令。 变量使用 ${} 方式取值,但是在 IF 控制语句中是直接使用变量名。 指令(参数 1 参数 2...) 参数使用括弧括起,参数之间使用空格或分号分开。以 ADD_EXECUTABLE 指令为例,如果存在main.c、func.c 源文件 ...
CMake 的流行根本不是因为设计精妙,而是因为 C++ 生态烂到只能靠它续命。 我干开发 20 多年,亲眼见过好多团队被构建系统拖垮:Windows 上能跑,Linux 上链接失败;Debug 能编,Release 崩溃;换个 IDE 整个项目直接废废。 在那个没有统一标准的年代,CMake 没有追求优雅,只做了一件事:让不同平台、不同编译器、不同 ...