CMP0135¶
在版本 3.24 中添加。
当结合 URL
下载方法使用 ExternalProject_Add()
或 FetchContent_Declare()
命令时,CMake 3.23 及其之前的版本会将提取内容的时间戳设置为与归档时间戳相同。当 URL
发生变化时,新的归档文件会下载并提取,但提取内容的时间戳可能不会比以前的内容新。任何依赖提取内容的内容都可能不会重建,即使内容可能发生变化也是如此。
CMake 3.24 及其后续版本更喜欢将所有提取内容的时间戳设置为提取时间。这确保了任何依赖提取内容的内容都会在 URL
发生变化时重建。
对 ExternalProject_Add()
和 FetchContent_Declare()
命令的 DOWNLOAD_EXTRACT_TIMESTAMP
选项可用于明确指定如何处理时间戳。当未给出 DOWNLOAD_EXTRACT_TIMESTAMP
时,此策略控制默认行为。此策略的 OLD
行为是从归档文件中恢复时间戳。NEW
行为将提取内容的时间戳设置为提取时间。
此策略在 CMake 3.24 版本中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 会发出警告并使用 OLD
行为。
注意
策略的 OLD
行为依据定义被 废弃 由 定义
,并且可能在 CMake 的未来版本中移除。