首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CMakeFetchContent失败

CMakeFetchContent失败
EN

Stack Overflow用户
提问于 2021-11-10 15:46:10
回答 1查看 229关注 0票数 0

我们的项目由多个(共享) git存储库组成。目前,我们正在使用在CMake构建之前执行的shell脚本来克隆git存储库。

我想摆脱shell脚本,并在cmake中执行所有步骤。

现在我找到了ExternalProject和FetchContent

我从ExternalProject_Add开始

代码语言:javascript
运行
复制
function(CloneRepository repositoryURL branchName projectName sourceDir)
ExternalProject_Add(
    "${projectName}"
    GIT_REPOSITORY "${repositoryURL}"
    SOURCE_DIR "${sourceDir}"
    GIT_TAG "origin/${branchName}"
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ""
    INSTALL_COMMAND ""
endfunction(CloneRepository)

但是,正如引用中所述,这是在构建时执行的,而不是在配置时执行的。我希望在配置时进行克隆(只需克隆,不构建)

就在那时我找到了FetchContent

代码语言:javascript
运行
复制
function(TestoCloneRepository repositoryURL branchName projectName sourceDir)
  message("Starting to clone ${projectName} into ${sourceDir}")
  FetchContent_Declare(
    "${projectName}"
    GIT_REPOSITORY "${repositoryURL}"
    SOURCE_DIR "${sourceDir}"
    GIT_TAG "origin/${branchName}"
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ""
    INSTALL_COMMAND ""
  )
  FetchContent_MakeAvailable(${projectName})

endfunction(TestoCloneRepository)

现在,这个函数的内容是相同的,但是ExternalProject_Add添加了存储库,但是FetchContent在配置时失败了,控制台输出中没有给出原因。

以下是我的问题:

  1. 我可以得到更多的错误输出吗?CMakeError.log是空的,

也是空的

  1. 能给我一些进度报告吗?GIT_PROGRESS似乎不能用于获取内容

  1. 你知道为什么这不起作用吗
EN

回答 1

Stack Overflow用户

发布于 2021-11-11 08:45:53

我做了些测试。看起来这是一个与VS 2022相关的问题。

当从VS代码或CMake GUI (3.21)配置我的项目时,没有错误。我要退房的相当大。我猜VS 2022在某种程度上处于超时状态。我会发布一个微软的bug报告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69916239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档