CMake Day 7 —— option
# CMake Day 7 —— option
option() 可以定义一个简单的bool变量。
语法:
option(<variable> "<help_text>" [value])
1
- variable:变量名
- help_text:帮助信息
- value: 变量的取值
如果没有设置value
,默认是OFF,value
除了ON之外,都是OFF。
如果variable
已经被设置值了,后续在**option()**就对它不起作用了。
变量的用法示例:
option(FLAG "compile flag" ON)
message("FLAG: ${FLAG}")
# 已经被设置成ON,后续在使用option()不起作用
option(FLAG "compile flag" OFF)
message("FLAG: ${FLAG}")
1
2
3
4
5
2
3
4
5
结果如下:
FLAG: ON
FLAG: ON
1
2
2
我们可以通过cmake . -D<variable>=<value>
的方式改变它的值。
option(FLAG "compile flag" ON)
message("FLAG: ${FLAG}")
1
2
2
执行:
cmake . -DFLAG=OFF
1
结果如下:
FLAG: OFF
1
值得注意的是,在没有清除cmake缓存文件时,如果手动改了CMakeLists.txt中**option()**的值,实际上是不生效的,因为选项的值被保存到缓存中去了。通过cmake . -D<variable>=<value>
的方式没有这个问题。
上次更新: 2022/11/19, 20:31:36