ECMQmlModule: Add support for singleton types, support paths

Merged Joshua Goins requested to merge work/redstrate/fix-qqc2-desktop-style into master

Fixes needed for qqc2-desktop-style to work (see: qqc2-desktop-style!254 (merged)). There are two problems here:

  • Our auto-generated qmldir has no way to specify which components are singletons.
  • Our auto-generated qmldir does not set the filepaths properly. qqc2-desktop-style installs files under private/ but the qmldir still refers to qml files as if they are in the root directory.

The way to mark qml components as singletons is shamelessly stolen from the new Qt6 CMake API - by using set_source_file_properties and QT_QML_SINGLETON_TYPE.

CCBUG: 470729

Edited by Nate Graham

Merge request reports