| CMP0170 | |
| ------- | |
| .. versionadded:: 3.30 | |
| When ``FETCHCONTENT_FULLY_DISCONNECTED`` is set to true, | |
| :command:`FetchContent_MakeAvailable` and :command:`FetchContent_Populate` | |
| enforce the constraint that their source directory must already be populated. | |
| The requirement has always been documented, but it was not checked or enforced | |
| with CMake 3.29 or older. This sometimes led to hard-to-trace errors when a | |
| project expected a dependency to have been populated, but its population was | |
| silently skipped. | |
| CMake 3.30 and above prefers to check and enforce the constraint. | |
| This policy provides compatibility for situations where the user cannot easily | |
| prevent ``FETCHCONTENT_FULLY_DISCONNECTED`` from being inappropriately set | |
| to true. | |
| The ``OLD`` behavior of this policy allows ``FETCHCONTENT_FULLY_DISCONNECTED`` | |
| to be set to true even if a dependency's source directory has not been | |
| populated. | |
| The ``NEW`` behavior halts with a fatal error if | |
| ``FETCHCONTENT_FULLY_DISCONNECTED`` is set to true and a dependency population | |
| would be skipped, but that dependency's source directory doesn't exist. | |
| .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.30 | |
| .. |WARNS_OR_DOES_NOT_WARN| replace:: warns | |
| .. include:: include/STANDARD_ADVICE.rst | |
| .. include:: include/DEPRECATED.rst |