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”缓存条目。
问题是如何'获取'用PROPERTY STRINGS
定义的值集,以便从命令行验证用户的(可能是错误的)输入:
cmake -DBaseName:STRING=ValueNotInList -G "MSYS Makefiles" ..
答案 0 :(得分:1)
就像那里set_property()
一样,还有get_property()
:
get_property(res CACHE BaseName PROPERTY STRINGS)
这会将变量res
设置为属性的内容。