cmake FetchContent

Hi,
I am trying to use my private repo in CMakeFetch, but getting errors. Could someone help me with that. It works fine with googletests

Here’s the sample cmake for cmake fetchContent

include(FetchContent)
FetchContent_Declare(
    googletest
    URL https://github.com/google/googletest/archive/refs/tags/v1.13.0.zip
)
FetchContent_Declare(
    private-repo
    URL https://github.com/{username}/private-repo.git
    GIT_TAG "main"
)
FetchContent_MakeAvailable(googletest private-repo)

Here’s the output

 1>Checking Build System
  1>Creating directories for 'private-repo-populate'
  2>Building Custom Rule C:/Users/username/Documents/project/private-repo/cmake/_deps/private-repo-subbuild/CMakeLists.txt
  Performing download step (download, verify and extract) for 'private-repo-populate'
  -- Downloading...
     dst='C:/Users/username/Documents/project/private-repo/cmake/_deps/private-repo-subbuild/private-repo-populate-prefix/src/archive.tar'
     timeout='none'
     inactivity timeout='none'
  -- Using src='https://github.com/username/private-repo.git'
  -- [download 100% complete]
  CMake Error at private-repo-subbuild/private-repo-populate-prefix/src/private-repo-populate-stamp/download-private-repo-populate.cmake:170 (message):
    Each download failed!

CUSTOMBUILD : error : downloading 'https://github.com/username/private-repo.git' failed [C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\private-repo-populate.vcxproj]
            status_code: 22
            status_string: "HTTP response code said error"
            log:

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(247,5): error MSB8066: Custom build for 'C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-download.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-update.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-patch.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-configure.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-build.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-install.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\933d9243315ce617922dc291f08a99cd\private-repo-populate-test.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\8253c863f0c2dd0189e066d3d4856af0\private-repo-populate-complete.rule;C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\CMakeFiles\b1866fbb832704ffa7e45ddc220cc837\private-repo-populate.rule' exited with code 1. [C:\Users\username\Documents\project\private-repo\cmake\_deps\private-repo-subbuild\private-repo-populate.vcxproj]

CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FetchContent.cmake:1622 (message):
  Build step for private-repo failed: 1
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.26/Modules/FetchContent.cmake:1762:EVAL:2 (__FetchContent_directPopulate)
  C:/Program Files/CMake/share/cmake-3.26/Modules/FetchContent.cmake:1762 (cmake_language)
  C:/Program Files/CMake/share/cmake-3.26/Modules/FetchContent.cmake:1976 (FetchContent_Populate)
  test/CMakeLists.txt:15 (FetchContent_MakeAvailable)

-- Configuring incomplete, errors occurred!

Use GIT_REPOSITORY for git repositories and not URL. :wink:

1 Like