# FindGit

Finds the Git distributed version control system.

## Imported Targets

This module provides the following Imported Targets when the `CMAKE_ROLE` is `PROJECT`:

`Git::Git`

  Added in version 3.14.

  Target that encapsulates Git command-line client executable. It can be used in `generator expressions`, and commands like `add_custom_target()` and `add_custom_command()`. This target is available only if Git is found.

## Result Variables

This module defines the following variables:

`Git_FOUND`

  Boolean indicating whether the Git was found. For backward compatibility, the `GIT_FOUND` variable is also set to the same value.

`GIT_VERSION_STRING`

  The version of Git found.

## Cache Variables

The following cache variables may also be set:

`GIT_EXECUTABLE`

  Path to the `git` command-line client executable.

## Examples

Finding Git and retrieving the latest commit from the project repository:

    find_package(Git)
    if(Git_FOUND)
      execute_process(
        COMMAND ${GIT_EXECUTABLE} --no-pager log -n 1 HEAD "--pretty=format:%h %s"
        OUTPUT_VARIABLE output
        RESULT_VARIABLE result
        ERROR_QUIET
        OUTPUT_STRIP_TRAILING_WHITESPACE
      )
      if(result EQUAL 0)
        message(STATUS "Last Git commit: ${output}")
      endif()
    endif()