提问人:nevermind 提问时间:11/17/2023 最后编辑:nevermind 更新时间:11/17/2023 访问量:18
如何使CPMAddPackage() / CPMFindPackage()使用预构建的依赖项?
How to make CPMAddPackage() / CPMFindPackage() use pre-built dependencies?
问:
当我用来添加依赖项(&)时,每次我覆盖我的项目源文件时,它都会重建依赖项。我有和作为依赖项,构建需要花费大量时间。CPMAddPackage
JUCE
googletest
JUCE
googletest
JUCE
此外,当我更改项目的目录结构时,(之前依赖项在我的项目目录中,之后依赖项是与我的项目目录的同级目录)再次开始下载/克隆。CPMAddPackage
JUCE
googletest
如何使用预先构建的依赖项,而不是在每次覆盖项目源文件时都让它构建依赖项?CPMAddPackage
另外,当我开始时,依赖项在我的项目根目录下,在一个目录中,现在当我从根目录中取出依赖项目录(现在是目录、和是同级目录)并将键设置为值(for)时,再次开始下载/克隆。libs
MyProject
JUCE
googletest
SOURCE_DIR
CPMAddPackage
${CMAKE_CURRENT_SOURCE_DIR}/../JUCE
JUCE
CPMAddPackage
JUCE
我怎么能确定当我添加为另一个项目的依赖项时,不会再次克隆整个存储库?JUCE
CPMAddPackage
JUCE
我也在文档上阅读过,但没有关于如何使用它的实际说明,我也只用了几次。CPMFindPackage
CPM
CMake
我查看了文档,他们建议使用 (每次构建) 和 's (包括预构建)。这对我来说似乎都很好,现在,如果并且这么好,我为什么要费心使用?JUCE
add_subdirectory
JUCE
CMake
find_package
JUCE
find_package
FetchContent
CPMAddPackage
我需要一些可以:
if (dep_built) { go on with the rest of CMakeLists.txt }
else if (dep_downloaded) { build dep }
else { download and build dep }
提前致谢。
编辑:我如何使用我从网站下载的发行版而不是克隆?CPMAddPackage
JUCE
JUCE
JUCE repo
答: 暂无答案
评论