Skip to content

[FR]: Extend CMake quickstart with instructions for vendoring dependency #5065

Description

@suzukieng

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions