CMAKE: Configure/build 来自你包裹的一个外国包裹

CMAKE: Configure/build a foreign package from your package

假设您的 CMake C++ 项目依赖于某些外部库,例如 Google Benchmarks/Test

我知道我可以独立配置和安装外部库,这样以后在构建我的个人项目时我可以访问它的 CMake 文件,这将很好地满足依赖关系(它将很好地添加它的头文件和库文件)

我的问题是:

是的。看看https://cmake.org/cmake/help/latest/module/FetchContent.html

这正是我用于 fetching GTest 的内容。

想法很简单 - FetchContent 会为您克隆一个存储库,然后您 add_subdirectory 进入该存储库,您可以管理所有子项目的详细信息(假设项目使用 CMake 并且编写正确)。

我建议 ExternalProject 如果你想构建你之后获取的内容,它甚至比 FetchContent 更好。