CMP0097ΒΆ

New in version 3.16.

ExternalProject_Add() with GIT_SUBMODULES "" initializes no submodules. The policy also applies to FetchContent_Declare(), which uses the same download and update features as ExternalProject_Add().

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. Use the cmake_policy() command to set it to OLD or NEW explicitly. Unlike most policies, CMake version 3.26.6 does not warn when this policy is not set and simply uses OLD behavior.