我注意到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
。
关于cmake - CMake脚本中带有尖括号的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13415222/