CMP0097

在 3.16 版本加入.

ExternalProject_Add() with GIT_SUBMODULES "" 不初始化任何子模块。该政策也适用于 FetchContent_Declare,它使用与 ExternalProject_Add 相同的下载和更新功能。

这些命令提供了一个 GIT_SUBMODULES 选项来控制要初始化和更新的子模块。从 CMake 3.16 开始,将 GIT_SUBMODULES 显式设置为空字符串意味着不会初始化或更新任何子模块。

此策略为尚未更新以期待新行为的项目提供兼容性。

当设置为空字符串以初始化和更新所有 git 子模块时,此策略的 OLD 行为适用于 GIT_SUBMODULES。当设置为空字符串以初始化和更新任何 git 子模块时,此策略的 NEW 行为适用于 GIT_SUBMODULES

此策略是在 CMake 版本 3.16 中引入的。使用 cmake_policy() 命令将其显式设置为 OLDNEW。与大多数政策不同,CMake 版本 |release|当此策略未设置且仅使用“旧”行为时*不*发出警告。