From e1fc03c474a311ea658f5c2178c434c91776c9d9 Mon Sep 17 00:00:00 2001 From: Marc Boucek Date: Wed, 1 Apr 2020 16:35:38 +0200 Subject: [PATCH] vcpkg_from_git: Add support for git over ssh (#9446) * vcpkg_from_git: Add support for git over ssh * vcpkg_from_git: append ssh bin directory to path * vcpkg_from_git: fix function signature on non windows platforms * Revert "vcpkg_from_git: fix function signature on non windows platforms" This reverts commit 0d608ee5911d2ba274e782a21dfe77a502a39053. * Revert "vcpkg_from_git: append ssh bin directory to path" This reverts commit 377ce3fae1e2c085a5da7ace8185624a345a511b. * Partial Revert "vcpkg_from_git: Add support for git over ssh" This partially reverts commit 9b81b16c4ccd3d8646d97e66234566a07af8a308. Co-authored-by: Marc Boucek Co-authored-by: Marc Boucek --- docs/maintainers/vcpkg_from_git.md | 2 +- scripts/cmake/vcpkg_from_git.cmake | 9 +-------- toolsrc/src/vcpkg/base/system.process.cpp | 6 ++++++ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/maintainers/vcpkg_from_git.md b/docs/maintainers/vcpkg_from_git.md index 4b9a26c62..2feed49aa 100644 --- a/docs/maintainers/vcpkg_from_git.md +++ b/docs/maintainers/vcpkg_from_git.md @@ -19,7 +19,7 @@ Specifies the out-variable that will contain the extracted location. This should be set to `SOURCE_PATH` by convention. ### URL -The url of the git repository. Must start with `https`. +The url of the git repository. ### REF The git sha of the commit to download. diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake index bad5384ca..f114f6fc6 100644 --- a/scripts/cmake/vcpkg_from_git.cmake +++ b/scripts/cmake/vcpkg_from_git.cmake @@ -19,7 +19,7 @@ ## This should be set to `SOURCE_PATH` by convention. ## ## ### URL -## The url of the git repository. Must start with `https`. +## The url of the git repository. ## ## ### REF ## The git sha of the commit to download. @@ -49,13 +49,6 @@ function(vcpkg_from_git) message(FATAL_ERROR "The git url must be specified") endif() - if( NOT _vdud_URL MATCHES "^https:") - # vcpkg_from_git does not support a SHA256 parameter because hashing the git archive is - # not stable across all supported platforms. The tradeoff is to require https to download - # and the ref to be the git sha (i.e. not things that can change like a label) - message(FATAL_ERROR "The git url must be https") - endif() - if(NOT DEFINED _vdud_REF) message(FATAL_ERROR "The git ref must be specified.") endif() diff --git a/toolsrc/src/vcpkg/base/system.process.cpp b/toolsrc/src/vcpkg/base/system.process.cpp index bba29a2d7..5f34ace2a 100644 --- a/toolsrc/src/vcpkg/base/system.process.cpp +++ b/toolsrc/src/vcpkg/base/system.process.cpp @@ -241,6 +241,12 @@ namespace vcpkg // Enables proxy information to be passed to Curl, the underlying download library in cmake.exe L"http_proxy", L"https_proxy", + // Environment variables to tell git to use custom SSH executable or command + L"GIT_SSH", + L"GIT_SSH_COMMAND", + // Environment variables needed for ssh-agent based authentication + L"SSH_AUTH_SOCK", + L"SSH_AGENT_PID", // Enables find_package(CUDA) and enable_language(CUDA) in CMake L"CUDA_PATH", L"CUDA_PATH_V9_0",