Files
CMake/Help/release/dev/ep-update-disconnected.rst
Craig Scott 1512dc43cb ExternalProject: Avoid reconfigure when updates are disconnected
When UPDATE_DISCONNECTED is true, create separate update_disconnected
and patch_disconnected targets which have ALWAYS set to false.
Make the configure step depend on patch_disconnected in this case too.
This ensures the configure, build, install and test steps are not
executed unnecessarily when updates are disconnected.

Make the update and patch commands depend on the details of those
steps. This ensures they are re-executed when any of those details
change, even if updates are disconnected.

Allow updates to occur even if UPDATE_DISCONNECTED is true, but don't
contact the remote in that case. If asked to update to a ref that isn't known
locally, that is now detected and causes a fatal error when updates are
disconnected. Previously, the build would have silently and erroneously
continued to use the old ref.

Fixes: #16419, #19703, #21146
2023-05-23 22:39:44 +10:00

15 lines
723 B
ReStructuredText

ep-update-disconnected
----------------------
* The ``update`` and ``patch`` steps of an :module:`ExternalProject` will now
always re-execute if any of their details change, even if
``UPDATE_DISCONNECTED`` was set to true in the call to
:command:`ExternalProject_Add`. If using the GIT download method and the
``GIT_TAG`` is changed and the new ``GIT_TAG`` isn't already known locally,
this is now a fatal error instead of silently using the previous ``GIT_TAG``.
* When ``UPDATE_DISCONNECTED`` is set to true in a call to
:command:`ExternalProject_Add`, the ``configure`` step will no longer
re-run on every build. It will only re-run if details of the ``download``,
``update`` or ``patch`` step change.