Skip to content
Snippets Groups Projects
Commit c4d481e5 authored by Brad King's avatar Brad King
Browse files

FindGit: Avoid finding VS 2017 non-general Git installation

At a VS 2017 command prompt the `PATH` contains a directory that happens
to have a `Git/cmd/git.exe` inside it.  However, this executable is not
meant for general use.  Revise our use of `Git/` path suffixes to be
more specific to its original purpose of searching in the typical
`c:/Program Files*/Git/` installation directories.  Avoid using the
suffixes on `PATH` entries.

Fixes: #16706
parent e1adec32
No related branches found
No related tags found
No related merge requests found
......@@ -43,12 +43,26 @@ if(CMAKE_HOST_WIN32)
endif()
endif()
# First search the PATH and specific locations.
find_program(GIT_EXECUTABLE
NAMES ${git_names}
PATHS ${github_path} ${_git_sourcetree_path}
PATH_SUFFIXES Git/cmd Git/bin
DOC "Git command line client"
)
if(CMAKE_HOST_WIN32)
# Now look for installations in Git/ directories under typical installation
# prefixes on Windows. Exclude PATH from this search because VS 2017's
# command prompt happens to have a PATH entry with a Git/ subdirectory
# containing a minimal git not meant for general use.
find_program(GIT_EXECUTABLE
NAMES ${git_names}
PATH_SUFFIXES Git/cmd Git/bin
NO_SYSTEM_ENVIRONMENT_PATH
DOC "Git command line client"
)
endif()
mark_as_advanced(GIT_EXECUTABLE)
unset(git_names)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment