Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Question -> BUG vs stupid-user-error?] cmake does not download external libraries in case internet connection is too slow :)

未关闭
#3,445 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
30/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
cmake, cpp
领域
build-system

调研方向

从 Linux 构建说明和创建 ./external 的 CMake 配置入手;检查对 AF_WITH_EXTERNAL_PACKAGES_ONLY 以及生成的 spdlog-src 和 af_glad-src 目录的处理。在 CMake 3.16.3 和缓慢或不可用的连接条件下复现,然后确认依赖项已下载,并且生成的目录包含其 CMakeLists.txt 文件,从而使配置完成。

由索引模型根据 Issue 内容生成。

描述

I just tried to build Arrayfire on an arm board (vim3, arm, opencl backend, but I think this does not matter)

But, as far as I can see, it seems that cmake is supposed to automatically clone dependencies into the folder ./external.
This does not happen, only empty folders are generated, no content is inside.
It seems the git submodules where replaced by this external dependency loading through cmake quite recently.

Then, later cmake complains that the sub-folders, e.g. spdlog-src, af_glad-src.... , do not contain CMakeLists.txt

Is there a specific way to configure cmake to clone the external libraries, I just followed the instructions from the doc (https://github.com/arrayfire/arrayfire/wiki/Build-Instructions-for-Linux)

My cmake is version 3.16.3, but there is nor error from cmake directly, there are just no files downloaded into the external folder.
And, cmake option AF_WITH_EXTERNAL_PACKAGES_ONLY is set to OFF

主要语言
C++
星标
4.9k
派生
555
平均合并
1 小时 24 分钟
30 天内合并 PR
1

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

arrayfire/arrayfire 的其他 Issue

查看 arrayfire/arrayfire 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。