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 版本中移除。