Does the feature exist in the most recent commit?
No
Why do we need this feature?
Dropping the dependency on GitHub seems like a win, especially given their recent stability issues.
Describe the proposal.
The current CMake quickstart declares a dependency on ZIP file hosted on GitHub. I recently had failing builds for hours due to the outage of GitHub on 2026-08-17, so I decided to download the ZIP file and vendor it into the project, decoupling the build from GitHub's availability.
As somebody who only occasionally has to dive into CMake, it was not immediately obvious how to do this.
With the recent stability issues of GitHub, I think the guide would benefit from a section showing how to decouple the build from it:
include(FetchContent)
FetchContent_Declare(
googletest
URL ${CMAKE_SOURCE_DIR}/vendor/googletest-1.18.0.zip
URL_HASH SHA256=63b9c77751a5b8f492486005f67533fdc58682b67476fcb91650be5958d5195a
)
FetchContent_MakeAvailable(googletest)
In this case I'm downloading the ZIP file from GitHub releases, and adding it to a vendor/ directory in my project, and use sha256sum to generate the hash.
Is the feature specific to an operating system, compiler, or build system version?
Specific to CMake
Does the feature exist in the most recent commit?
No
Why do we need this feature?
Dropping the dependency on GitHub seems like a win, especially given their recent stability issues.
Describe the proposal.
The current CMake quickstart declares a dependency on ZIP file hosted on GitHub. I recently had failing builds for hours due to the outage of GitHub on 2026-08-17, so I decided to download the ZIP file and vendor it into the project, decoupling the build from GitHub's availability.
As somebody who only occasionally has to dive into CMake, it was not immediately obvious how to do this.
With the recent stability issues of GitHub, I think the guide would benefit from a section showing how to decouple the build from it:
In this case I'm downloading the ZIP file from GitHub releases, and adding it to a
vendor/directory in my project, and usesha256sumto generate the hash.Is the feature specific to an operating system, compiler, or build system version?
Specific to CMake