4

是否可以创建一个新的 cmake 变量?当我通过 gui 运行 cmake

抄送。

一组变量出现在屏幕上。我想要一个额外的变量,它可以有三个字符串值,根据这些字符串我可以修改我的构建选项

4

1 回答 1

6

所有 CMake UI 中显示的输入变量都是缓存变量。set( ... CACHE)您可以使用调用创建自己的。

要创建“选择三个值之一”类型的变量,您可以这样做:

set(MY_SELECTION "Option A" CACHE STRING "Help message for this variable")
set_property(
  CACHE MY_SELECTION
  PROPERTY STRINGS
  "Option A" "Option B" "Option C"
)

这将在 CMake UI 中创建一个名为MY_SELECTIONvisible 的变量,其值可以从Option AOption B和之间选择Option C。它的初始值是Option A,它的帮助字符串是Help message for this variable

请注意,set(... CACHE ...)如果该变量尚不存在,调用只会影响该变量的值。如果用户已经输入了他们自己的值,它将不会被覆盖(在这种情况下这通常是您想要的)。

于 2014-09-01T13:30:56.270 回答