summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/release/dev/FindGit-local-Github.rst5
-rw-r--r--Modules/FindGit.cmake4
2 files changed, 9 insertions, 0 deletions
diff --git a/Help/release/dev/FindGit-local-Github.rst b/Help/release/dev/FindGit-local-Github.rst
new file mode 100644
index 0000000..3523e86
--- /dev/null
+++ b/Help/release/dev/FindGit-local-Github.rst
@@ -0,0 +1,5 @@
+FindGit-local-Github
+--------------------
+
+* The :module:`FindGit` module learned to find the ``git`` command-line tool
+ that comes with GitHub for Windows installed in user home directories.
diff --git a/Modules/FindGit.cmake b/Modules/FindGit.cmake
index 570538d..b4f7b4b 100644
--- a/Modules/FindGit.cmake
+++ b/Modules/FindGit.cmake
@@ -45,11 +45,15 @@ set(git_names git eg)
if(WIN32)
if(NOT CMAKE_GENERATOR MATCHES "MSYS")
set(git_names git.cmd git eg.cmd eg)
+ # GitHub search path for Windows
+ set(github_path "$ENV{LOCALAPPDATA}/Github/PortableGit*/bin")
+ file(GLOB github_path "${github_path}")
endif()
endif()
find_program(GIT_EXECUTABLE
NAMES ${git_names}
+ PATHS ${github_path}
PATH_SUFFIXES Git/cmd Git/bin
DOC "git command line client"
)