CMP0097¶
新增於 3.16 版本。
ExternalProject_Add()
搭配 GIT_SUBMODULES ""
不會初始化任何子模組。
這些命令提供一個 GIT_SUBMODULES
選項,控制要初始化和更新哪些子模組。從 CMake 3.16 開始,明確地將 GIT_SUBMODULES
設定為空字串表示不會初始化或更新任何子模組。
此策略為尚未更新以預期新行為的專案提供相容性。
此策略的 OLD
行為是指當 GIT_SUBMODULES
設定為空字串時,會初始化並更新所有 Git 子模組。此策略的 NEW
行為是指當 GIT_SUBMODULES
設定為空字串時,不會初始化或更新任何 Git 子模組。
此策略在 CMake 3.16 版本中引入。它可以使用 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 則*不會*發出警告,並使用 OLD
行為。
注意
此策略也適用於 FetchContent_Declare()
,它使用與 ExternalProject_Add()
相同的下載和更新功能。然而,由於自首次引入策略以來就存在實作上的缺陷,無論策略設定如何,CMake 3.16 及更高版本始終對 FetchContent_Declare()
使用 NEW
行為。正式而言,這種強制對 FetchContent_Declare()
使用 NEW
行為,將在未來的 CMake 版本中繼續適用。
注意
策略的 OLD
行為是 根據定義已棄用
,並可能在未來版本的 CMake 中移除。