CMake多选项设置

我正在使用CMake构建的项目,所以我正在为它编写一个CMakeLists.txt。在这个文件中,我想要一个(缓存的)CMake变量,它只能使用几个选项中的一个(我将以某种方式指定),而不是任何任意字符串。为了简单起见,我们假设它是一个可以采用“红色”,“绿色”或“蓝色”的字符串 - 但没有别的。CMake多选项设置

我可以用最近的CMake版本来实现这一点,除了设置一个任意的字符串,然后检查它的有效性吗?

回答:

答案是在一个名为"Constraining Values with ComboBoxes in CMake (cmake-gui)" Kitware的博客文章的一个被发现:

因此,这里的工作原理是:为要​​限制在一定值的集合,其定义为通常每个高速缓存条目具有默认值作为STRING缓存变量,例如:现在

set(BaseName “binary” CACHE STRING “BaseName chosen by the user at CMake configure time”) 

,限定了与它的初始默认值的缓存条目之后,定义该组串到其值应被约束:

set_property(CACHE BaseName PROPERTY STRINGS binary octal decimal hexadecimal) 

的set_property电话后,cmake的桂知道要呈现下拉组合框中编辑了“名前缀”缓存条目,它知道这个记录的四个有效的选择,它应该呈现为binaryoctal,decimalhexadecimal

以上是 CMake多选项设置 的全部内容, 来源链接: utcz.com/qa/257706.html

回到顶部