You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FetchContent官方文档仅为概述,求完整选项参考文档

FetchContent 未文档化Git选项参考

背景

FetchContent的官方文档仅为概述,执行cmake --help-module FetchContent得到的内容和官方文档一致,找不到GIT_SHALLOW、GIT_PROGRESS这类选项的说明。

核心原理

FetchContent底层依赖CMake的ExternalProject模块实现,所有以GIT_开头的选项都会直接传递给ExternalProject_Add,这些选项并未在FetchContent的文档中单独列出,而是复用ExternalProject的Git相关配置。

常见未文档化选项说明

  • GIT_SHALLOW TRUE:开启浅克隆模式,只拉取指定GIT_TAG对应的单一提交,而非整个仓库的完整历史。能显著降低克隆时间和磁盘占用,但仅适用于GIT_TAG为具体提交哈希或固定标签的场景,分支标签无法使用该选项。
  • GIT_PROGRESS TRUE:在克隆过程中显示实时进度条,方便跟踪大仓库的克隆状态。

更多可用Git选项

所有ExternalProject_Add支持的GIT_*参数都可在FetchContent_Declare中使用,举例:

  • GIT_SUBMODULES "":跳过仓库子模块的克隆
  • GIT_REMOTE_NAME upstream:自定义远程仓库的名称
  • GIT_SSL_NO_VERIFY TRUE:禁用SSL证书验证(仅限测试环境,不推荐生产使用)

验证方式

如果不确定某个GIT_*选项是否支持,可直接在FetchContent_Declare中尝试使用,CMake会在选项不合法时抛出明确错误;也可以查阅ExternalProject模块的官方文档获取完整参数列表。

内容的提问来源于stack exchange,提问作者user1785730

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 00:26:02