Просмотр исходного кода

Help: Document that CMP0097 is always NEW for FetchContent

Fixes: #25971
Craig Scott 1 год назад
Родитель
Сommit
eda17e76e2
1 измененных файлов с 12 добавлено и 3 удалено
  1. 12 3
      Help/policy/CMP0097.rst

+ 12 - 3
Help/policy/CMP0097.rst

@@ -4,9 +4,7 @@ CMP0097
 .. versionadded:: 3.16
 
 :command:`ExternalProject_Add` with ``GIT_SUBMODULES ""`` initializes no
-submodules.  The policy also applies to :command:`FetchContent_Declare`,
-which uses the same download and update features as
-:command:`ExternalProject_Add`.
+submodules.
 
 The commands provide a ``GIT_SUBMODULES`` option which controls what submodules
 to initialize and update. Starting with CMake 3.16, explicitly setting
@@ -25,4 +23,15 @@ an empty string to initialize and update no git submodules.
 .. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn
 .. include:: STANDARD_ADVICE.txt
 
+.. note::
+
+  This policy also applies to :command:`FetchContent_Declare`,
+  which uses the same download and update features as
+  :command:`ExternalProject_Add`.  However, due to an implementation deficiency
+  present since the policy was first introduced, CMake 3.16 and later always
+  uses the ``NEW`` behavior for :command:`FetchContent_Declare`, regardless of
+  the policy setting. Formally, this forcing of ``NEW`` behavior for
+  :command:`FetchContent_Declare` will continue to apply in future CMake
+  releases.
+
 .. include:: DEPRECATED.txt