CMP0135¶
在 3.24 版本加入.
当使用 URL 下载方法和 ExternalProject_Add() 命令时,CMake 3.23 及以下版本将提取内容的时间戳设置为与存档中的时间戳相同。当 URL 更改时,将下载并提取新存档,但提取内容的时间戳可能不会比以前的内容更新。任何依赖于提取内容的东西都可能不会被重建,即使内容可能会改变。
CMake 3.24 及以上版本倾向于将所有提取内容的时间戳设置为提取时间。这确保只要“URL”更改,任何依赖于提取内容的内容都会被重建。
ExternalProject_Add 命令的 DOWNLOAD_EXTRACT_TIMESTAMP 选项可用于明确指定时间戳的处理方式。当未给出 DOWNLOAD_EXTRACT_TIMESTAMP 时,此策略控制默认行为。此策略的“旧”行为是从存档中恢复时间戳。 NEW 行为将提取内容的时间戳设置为提取时间。
此策略是在 CMake 版本 3.24 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLD 或 NEW。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。