Scope of cmake_language(DEFER GET_CALL_IDS) et. al. somewhat ambiguous
The docs for the
cmake_language(DEFER) commands that retrieve call IDs or cancel calls by ID do not currently make explicit the scope on which they operate. The docs for
GET_CALL_IDS are particularly sparse:
The currently scheduled list of deferred calls may be retrieved:
cmake_language(DEFER [DIRECTORY <dir>] GET_CALL_IDS <var>)
This will store in
<var>a semicolon-separated list of deferred call ids.
DIRECTORY option is given, the above doesn't specify whether all deferred IDs from all directory scopes are returned, or just those from the current directory scope. Looking at the source code, it appears to be the latter, but the docs should be explicit about this. The
CANCEL_CALL subcommands are similarly imprecise.