全部学习汇总: GreyZhang/g_cmake: my learning notes for cmake tool. (github.com)
之前考虑过是否要学习Cmake,经过各种对比之后放弃了,我选择了去学习scons。在实际的工作以及学习中scons也的确给了我很大的受益。当时出于各种方面的原因,我放弃了cmake的学习。但是现在还是回归了,要学习一个自己工具箱中已经有了的一个替代工具,这的确是有几分纠结。但是我自己这次学习的驱动其实不是要找一个替代品,而是我需要看别人设计的构建系统。如此,也没有什么替代性方案可以去尝试了。
之前放弃学习的一个很重要的原因就是这个cmake的学习教程不是很好寻找,即使是找到的也有一些问题让人进行不下去。这一次,我去了找了其他人的教程来进行新的尝试,不过还是遇到了一些小情况。针对我这次的踩坑以及收获,简单记录下后续回查。
我先看了一份非常简短的中文教程《cmake实践》,里面也描述了一些我前面表达的概念。但是很不幸,按照里面的信息操作我还是踩雷了。
我按照上面的例程信息抄了一遍尝试做测试调试,但是第一个方框画出来的地方应该在$符号之前加一个空格,否则至少我用的这个额cmake版本会报错。而最后一行,在我用的cmake版本中其实应该按照${SRC_LIST}的形式来用,否则也会报错。
接下来的尝试,跟我看到的资料中的信息差不多。通过cmake .,实现本地编译的配置文件生成。
而上面的截图是这次编译运行的一个结果。
前面看到的一个错误,其实在后面的文件中还是纠正了的。可能也是我在这方面折腾的够多吧,否则大概率新手也会让这个学习教程卡住。
针对这里说的两个变量是对等的,我自己进行了修改测试,测试结果确认两个方式是对等的。
可能是看过一些类似的资料,这一部分的理解对我来说倒是觉得比较自然。
测试下来,这种简化的写法也是可以的。
这样,一个简单的cmake的尝试的例程基本就结束了。后面的尝试,我会按照一个学习调试过程的整理模式来梳理,不再针对性分析教程你本身。
通过这样的例子,其实对于这个cmake的套路也有了一点点感觉了。结合之前自己也曾经花过时间多少看过,接下来或许直接去分析别人的构建系统配置也是可以的。我会从这样的方向去做一点简单的尝试