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文件夹中找到.

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

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

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

点赞