option(<option_variable>“描述选项的帮助字符串” [初始值])将其设置为ON或OFF,但我感到困惑

时间:2018-10-21 09:01:44

标签: cmake

我正在阅读我能找到的所有教程,而它们基本上只是说

option(<option_variable> "help string describing option" [initial value])

将其设置为ON或OFF。我想知道的是,如果它是<variable>,那么为什么只能将其设置为ON或OFF?为什么不5?或者其他的东西”?它是BOOLEAN类型变量吗?到底是什么另外,是否应该将option()代码中指定的变量声明为“预先”在其他位置?还是以前从未声明过的全新的新鲜变量?

1 个答案:

答案 0 :(得分:0)

在CMake option()中,命令与BOOLEAN类型的“选项”有关,可由用户设置。呼吁

option(<option_variable> "help string describing option" [initial value])

等同于呼叫

set(<option_variable> <initial_value> CACHE BOOLEAN "help string describing option")

其他类型的“选项”包括PATH,FILEPATH和STRING,有关更多信息,请参见set(CACHE)文档。类型主要影响CMake GUI中的选择器对话框。因此,对于option,它将是具有ONOFF值的简单选择器。

option的调用可以视为对变量的赋值。但是,如果用户设置此变量(通过-D可执行文件的cmake选项或通过CMake GUI),则将保留用户指定的值。

用法示例:

option(USE_FOO "Whether to use FOO functionality" OFF)
# ...

if(USE_FOO)
    # User set the option to ON. Process this setting.
else()
    # User set the option to OFF or didn't set it at all. Process this setting.
endif()