假设您的CMakec++项目依赖于一些外部库,例如Google benchmark/Test。
我知道我可以独立配置和安装外部库,以便以后在构建我的个人项目时,我可以访问其CMake文件,这将很好地满足依赖关系(它将很好地添加其头文件和库文件)
我的问题是:- 在配置我的项目时,是否可以直接配置/构建这个外部库,而不安装这个外部库?
是。看看https://cmake.org/cmake/help/latest/module/FetchContent.html
这就是我用来获取GTest的。
想法很简单- FetchContent将克隆一个repo为您,然后你做add_subdirectory
到该repo,你可以管理所有子项目的细节(假设项目使用CMake和正确编写)。
我建议ExternalProject
,这甚至比FetchContent
更好,如果你想建立,你已经取得后。