我进入CMake并且遇到了它的语法问题。我想知道你们中是否有人能告诉我以下命令究竟是做什么的:
OPTION(USE_OPENGL "Use OpenGL" FOUND_OPENGL)
据我所知,如果找到,它将默认OPENGL为ON。这是对的吗?
答案 0 :(得分:1)
此命令为用户提供了一个更改构建系统特定方面的选项。语法在文档中进行了解释:
option(<option_variable> "help string describing option"
[initial value])
在您的特定情况下,它将创建一个名为USE_OPENGL的选项,该选项应具有FOUND_OPENGL变量的默认值。因此,默认值可能与自动检查opengl是否可用的结果相同。但是,在您给出的示例中,语法实际上是错误的。它应该是:
OPTION(USE_OPENGL "Use OpenGL" ${FOUND_OPENGL})
通过ccmake
命令或cmake gui专门提供选项。在这里,给定的文档字符串将可供用户使用。在用户决定选项之后,您可以使用给定的变量作为第一个参数,就像CMake中的任何其他布尔变量一样。 E.g:
IF(USE_OPENGL)
MESSAGE(STATUS "Will us OpenGL")
ENDIF()