summaryrefslogtreecommitdiff
path: root/share/cmake-3.5/Modules/FindGit.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.5/Modules/FindGit.cmake')
-rwxr-xr-xshare/cmake-3.5/Modules/FindGit.cmake83
1 files changed, 83 insertions, 0 deletions
diff --git a/share/cmake-3.5/Modules/FindGit.cmake b/share/cmake-3.5/Modules/FindGit.cmake
new file mode 100755
index 0000000..d18f965
--- /dev/null
+++ b/share/cmake-3.5/Modules/FindGit.cmake
@@ -0,0 +1,83 @@
+#.rst:
+# FindGit
+# -------
+#
+# The module defines the following variables:
+#
+# ``GIT_EXECUTABLE``
+# Path to Git command-line client.
+# ``Git_FOUND``, ``GIT_FOUND``
+# True if the Git command-line client was found.
+# ``GIT_VERSION_STRING``
+# The version of Git found.
+#
+# Example usage:
+#
+# .. code-block:: cmake
+#
+# find_package(Git)
+# if(Git_FOUND)
+# message("Git found: ${GIT_EXECUTABLE}")
+# endif()
+
+#=============================================================================
+# Copyright 2010-2016 Kitware, Inc.
+# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Look for 'git' or 'eg' (easy git)
+#
+set(git_names git eg)
+
+# Prefer .cmd variants on Windows unless running in a Makefile
+# in the MSYS shell.
+#
+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}")
+ # SourceTree search path for Windows
+ set(_git_sourcetree_path "$ENV{LOCALAPPDATA}/Atlassian/SourceTree/git_local/bin")
+ endif()
+endif()
+
+find_program(GIT_EXECUTABLE
+ NAMES ${git_names}
+ PATHS ${github_path} ${_git_sourcetree_path}
+ PATH_SUFFIXES Git/cmd Git/bin
+ DOC "Git command line client"
+ )
+mark_as_advanced(GIT_EXECUTABLE)
+
+unset(git_names)
+unset(_git_sourcetree_path)
+
+if(GIT_EXECUTABLE)
+ execute_process(COMMAND ${GIT_EXECUTABLE} --version
+ OUTPUT_VARIABLE git_version
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (git_version MATCHES "^git version [0-9]")
+ string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}")
+ endif()
+ unset(git_version)
+endif()
+
+# Handle the QUIETLY and REQUIRED arguments and set Git_FOUND to TRUE if
+# all listed variables are TRUE
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Git
+ REQUIRED_VARS GIT_EXECUTABLE
+ VERSION_VAR GIT_VERSION_STRING)