如何读懂复杂的文档
CMake的官方文档一直都以晦涩著称,学习曲线比较陡峭,仅有指令的手册没有完善的入门指导
这里补充一些入门提示,帮助新手理解
1 | file(GLOB <variable> |
符号的含义
符号 | 含义 | 示例 |
---|---|---|
Plain Text | 命令本身,不能修改和自定义 | file、GLOB |
Brackets () | 函数的参数 | 和所有类C语言一样 |
Angle Brackets <> | 必选参数 | <variable> |
Square Brackets [] | 可选参数 | [CONFIGURE_DEPENDS] |
Oring | | 多选一的可选项 | true|false |
Variable | 用户自定义变量 | variable |
Ellipsis … | 变长参数 | [<>…] |
这些符号规则和Shell的说明文档十分类似,如果有Linux相关经验的人应该不难理解
解析举例
根据符号分析,我们可以拆分解析指令
- file是指令本身
- 第一个固定参数 GLOB 代表Action
- 第二个参数代表传入一个变量用于储存结果
- 第三、四个参数一起作为可选输入参数,参数名 LIST_DIRECTORIES 参数值 true 或 false
- 第五、六个参数一起作为可选输入参数,但是如果第四个存在,则第五个必须存在,参数名 RELATIVE 参数值为一个路径
- 第七个参数参数为可选参数,本身不附带输入,为标记位,参数名 CONFIGURE_DEPENDS
- 其八个参数为可选参数,该参数为变长参数,且必须使用 globbing-expressions
1 | # file : 固定命令 |