如何获取用 属性 STRINGS 定义的值集

How to get the set of values defined with PROPERTY STRINGS

CMake 允许将缓存条目限制为一组值。例如看 this link,引用:

set(BaseName "binary" CACHE STRING "BaseName chosen by the user at CMake configure time")
set_property(CACHE BaseName PROPERTY STRINGS binary octal decimal hexadecimal)

现在 cmake-gui 知道显示一个用于编辑 "BaseName" 缓存条目的下拉组合框。

问题是如何 'get' 用 PROPERTY STRINGS 定义的值集,以验证用户从命令行输入的(可能是错误的):

cmake -DBaseName:STRING=ValueNotInList -G "MSYS Makefiles" ..

就像 set_property(), there's also get_property():

get_property(res CACHE BaseName PROPERTY STRINGS)

这会将变量 res 设置为 属性 的内容。