cmake-gui:创建可选列表ComboBoxes

版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/83270310

就像一般的程序设计一样,在设计cmake脚本时有时我们希望一个变量的值限定在一个范围内。如下图,cmake-gui中用户可以选择输出日志的级别,肯定我们不希望用户乱输一气。

在这里插入图片描述

这时就要用到CACHE 的属性STRINGS

# 日志输出级别
set(LOG_LEVEL FL_LOG_DEBUG CACHE STRING "application log level")
# 设置CACHE 的属性STRINGS,指定LOG_LEVEL 可选的值范围
set_property(CACHE LOG_LEVEL PROPERTY STRINGS FL_LOG_NO FL_LOG_ERROR FL_LOG_WARN FL_LOG_INFO FL_LOG_DEBUG)

关于CACHE 的属性STRINGS参见cmake官方手册说明:《Property of CACHE : STRINGS》,如下图
在这里插入图片描述
注意根据手册说明,cmake并不限定用户提供的值必须在STRINGS的范围,这个属性只是用来在cmake-gui界面中提供输入提示。如果在命令行执行cmake -DLOG_LEVEL=HELLO为LOG_LEVEL 指定任意值,cmake不会报错。

参考资料

《Constraining Values with ComboBoxes in CMake (cmake-gui)》

猜你喜欢

转载自blog.csdn.net/10km/article/details/83270310