CMP0097ΒΆ
New in version 3.16.
ExternalProject_Add()
with GIT_SUBMODULES ""
initializes no
submodules.
The commands provide a GIT_SUBMODULES
option which controls what submodules
to initialize and update. Starting with CMake 3.16, explicitly setting
GIT_SUBMODULES
to an empty string means no submodules will be initialized
or updated.
This policy provides compatibility for projects that have not been updated to expect the new behavior.
The OLD
behavior for this policy is for GIT_SUBMODULES
when set to
an empty string to initialize and update all git submodules.
The NEW
behavior for this policy is for GIT_SUBMODULES
when set to
an empty string to initialize and update no git submodules.
This policy was introduced in CMake version 3.16.
It may be set by cmake_policy()
or cmake_minimum_required()
.
If it is not set, CMake does not warn, and uses OLD
behavior.
Note
This policy also applies to FetchContent_Declare()
,
which uses the same download and update features as
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 FetchContent_Declare()
, regardless of
the policy setting. Formally, this forcing of NEW
behavior for
FetchContent_Declare()
will continue to apply in future CMake
releases.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.