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