FindPatch¶
3.10 版本新增。
查找用于将diff补丁应用于原始文件的 patch
命令行可执行文件。
导入的目标¶
此模块提供以下 导入目标
Patch::patch
封装
patch
命令行可执行文件的目标,仅当找到patch
时才可用。4.0 版本更改: 此导入目标仅在
CMAKE_ROLE
为PROJECT
时定义。
结果变量¶
此模块定义了以下变量
Patch_FOUND
布尔值,指示是否找到
patch
命令行可执行文件。
缓存变量¶
以下缓存变量也可以设置
Patch_EXECUTABLE
patch
命令行可执行文件的路径。
示例¶
查找 patch
命令并在进程中执行
find_package(Patch)
if(Patch_FOUND)
execute_process(
COMMAND ${Patch_EXECUTABLE} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/src.patch
)
endif()
导入目标可用于,例如,在 add_custom_command()
命令中,当某个构建规则依赖于其输出时,该命令会修补给定文件
find_package(Patch)
if(TARGET Patch::patch)
# Executed when some build rule depends on the src.c file.
add_custom_command(
OUTPUT src.c
COMMAND Patch::patch -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/src.patch
# ...
)
endif()