6 :command:`ExternalProject_Add` with ``GIT_SUBMODULES ""`` initializes no
7 submodules. The policy also applies to :command:`FetchContent_Declare`,
8 which uses the same download and update features as
9 :command:`ExternalProject_Add`.
11 The commands provide a ``GIT_SUBMODULES`` option which controls what submodules
12 to initialize and update. Starting with CMake 3.16, explicitly setting
13 ``GIT_SUBMODULES`` to an empty string means no submodules will be initialized
16 This policy provides compatibility for projects that have not been updated
17 to expect the new behavior.
19 The ``OLD`` behavior for this policy is for ``GIT_SUBMODULES`` when set to
20 an empty string to initialize and update all git submodules.
21 The ``NEW`` behavior for this policy is for ``GIT_SUBMODULES`` when set to
22 an empty string to initialize and update no git submodules.
24 This policy was introduced in CMake version 3.16. Use the
25 :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
26 Unlike most policies, CMake version |release| does *not* warn
27 when this policy is not set and simply uses ``OLD`` behavior.