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.