ein*_*ica 7 build cmake multiple-choice multiplechoicefield
我正在开发一个用CMake构建的项目,所以我正在CMakeLists.txt
为它编写一个.在这个文件中,我想要一个(缓存的)CMake变量,它只能采用几个选项之一(我会以某种方式指定),而不是任意字符串.为简单起见,让我们把它变成一个可以采用"红色","绿色"或"蓝色"的字符串 - 但没有别的.
我可以使用最近的CMake版本来实现这一点,除了设置任意字符串然后检查其有效性吗?
Flo*_*ian 10
答案可以在Kitware的一篇名为"在CMake(cmake-gui)中使用ComboBoxes限制值的博客文章"中找到答案:
所以这是它的工作原理:对于要约束到某些值集的每个缓存条目,像往常一样使用默认值作为
STRING
缓存变量进行定义,例如:Run Code Online (Sandbox Code Playgroud)set(BaseName “binary” CACHE STRING “BaseName chosen by the user at CMake configure time”)
现在,在使用其初始缺省值定义高速缓存条目之后,定义应对其值进行约束的字符串集:
Run Code Online (Sandbox Code Playgroud)set_property(CACHE BaseName PROPERTY STRINGS binary octal decimal hexadecimal)
在set_property电话后,cmake的桂知道要呈现下拉组合框中编辑了"名前缀"缓存条目,它知道这个记录的四个有效的选择,它应该是存在
binary
,octal
,decimal
和hexadecimal
.
归档时间: |
|
查看次数: |
2230 次 |
最近记录: |