FindGit¶
查找 Git 分布式版本控制系统。
导入的目标¶
当 CMAKE_ROLE
为 PROJECT
时,此模块提供以下 导入的目标
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()