从外部项目获取变量和选项

Sec*_*afo 5 cmake

我想知道如何从外部项目中获取变量和选项。例如,我使用ExternalProject_Add添加一个我的项目依赖的库,问题是这个依赖有一些变量和选项——其中一些默认是打开的——我想知道,如何从我的CMakeLists.txt.

Tsy*_*rev 4

所有与相关的命令都在构建ExternalProject_Add阶段执行,但您的命令在配置阶段解释,此时外部库尚未配置,因此其变量和选项尚未定义。CMakeLists.txt

更一般地说,可以在两种情况下从外部项目中提取 cmake 变量:

  1. 外部项目通过以下方式包含到主项目中add_subdirectory
  2. 外部项目提供了打包文件,其中定义了所需的变量。在这种情况下,外部项目应在主项目的配置阶段之前或配置阶段安装。您可以在 CMake教程中阅读有关打包的内容。