FindGit

查找 Git 分布式版本控制系统。

导入的目标

CMAKE_ROLEPROJECT 时,此模块提供以下 导入的目标

Git::Git

3.14 版新增。

封装 Git 命令行客户端可执行文件的目标。它可以在 生成器表达式 以及 add_custom_target()add_custom_command() 等命令中使用。此目标仅在找到 Git 时可用。

结果变量

此模块定义了以下变量

Git_FOUND

一个布尔值,指示是否找到了 Git。为了向后兼容,GIT_FOUND 变量也设置为相同的值。

GIT_VERSION_STRING

找到的 Git 版本。

缓存变量

以下缓存变量也可以设置

GIT_EXECUTABLE

指向 git 命令行客户端可执行文件的路径。

示例

查找 Git 并从项目存储库检索最新提交

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()