cmake - CMake脚本中带有尖括号的变量

标签 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

关于cmake - CMake脚本中带有尖括号的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13415222/

相关文章:

linux - 如何使用 gcc/cmake 在 64 位 linux 机器上编译 32 位二进制文​​件

windows - 如何将 Qt 与 Rust 一起使用?

c++ - CTest项目目录。找不到测试

c++ - 在 Visual Studio C++ 项目中嵌入 Mercurial 修订和变更集

cmake - 仅将变量传递到子目录

c++ - 在 Linux 上使用 CMake 构建 gRPC C++

c++ - 带有 boost 线程库的 Cmake

cmake - 如何将cmake指向库的特定目录?

c++ - 如何使用 CMake 在我的项目中正确链接我的库?

c++ - 如何在 cmake 工具链文件中为已知的自定义编译器设置编译功能以使用 target_compile_features