我正在尝试使用FetchContent
包含一个依赖项,该依赖项是仅包含头文件的 C++ 项目。它不需要构建。但是,它包含一个构建其测试的 CMakeLists.txt 文件,并且它没有以标准方式执行。我想完全绕过 make 步骤,以免构建无关的二进制文件,也不会看到它发出的警告。
我的代码目前是:
FetchContent_Declare(
TheProject
GIT_REPOSITORY <the git repo>
GIT_TAG <the git commit>
)
FetchContent_MakeAvailable(TheProject)
这可以正确下载项目,但它会调用 make 系统,而这并不是我想要的。我可以通过将其更改为以下内容来修复此问题:
FetchContent_Declare(
TheProject
GIT_REPOSITORY <the git repo>
GIT_TAG <the git commit>
)
FetchContent_Populate(TheProject)
这有效,并且它不会调用构建系统。太棒了。但它发出一个诅咒警告,指出FetchContent_Populate
单独调用已被弃用,并将从 cmake 的未来版本中删除。有没有一种合适的方法可以在不使用弃用功能的情况下完成我想要的功能?