CMake脚本中带尖括号的变量

时间:2012-11-16 10:59:44

标签: cmake

我注意到CMake不仅可以在${VAR_NAME}语法中使用变量,还可以在<VAR_NAME>语法中使用变量。例如,以下代码:

IF(NOT CMAKE_CXX_LINK_EXECUTABLE)
  SET(CMAKE_CXX_LINK_EXECUTABLE
    "<CMAKE_CXX_COMPILER>  <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE)

在名为CMakeCXXInformation.cmake的脚本的CMake modules文件夹中找到。

我没有在文档中找到有关使用尖括号的语法的任何解释。有人用过这样的语法可以解释它的含义吗?

1 个答案:

答案 0 :(得分:2)

此语法特定于定义编译和链接的规则。它由内部CMake机器使用,不打算由CMake用户使用。

在CMake中添加对新语言的支持时,这些规则会发挥作用,有关详细信息,请参阅share/cmake/Modules/CMakeAddNewLanguage.txt