Functions like qt_extend_target and qt_add_module are not meant to be used by user projects. They are internal CMake API meant to build Qt itself.
To ensure clear separation, we should rename all our functions to contain the qt_internal_ prefix. This way users will clearly know they shouldn't use those functions.
We've already had some cases where internal API leaked into examples and that didn't break CI, because we currently build examples as part of the internal Qt build, and thus the functions are available in the examples scope.