我注意到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文件夹中找到。
我没有在文档中找到有关使用尖括号的语法的任何解释。有人用过这样的语法可以解释它的含义吗?
答案 0 :(得分:2)
此语法特定于定义编译和链接的规则。它由内部CMake机器使用,不打算由CMake用户使用。
在CMake中添加对新语言的支持时,这些规则会发挥作用,有关详细信息,请参阅share/cmake/Modules/CMakeAddNewLanguage.txt
。