Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-140397

What is a module?

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • None
    • Build System
    • None
    • 5f0031cfa (dev)

      In trying to add support for Clang module maps to Qt i ended up in maze of unclear and inconsistent definitions when it comes to what a "module" is in Qt these days, and whether these are "private", "public", "implementation", "internal", etc.

      • How can I distinguish a Qt module in the traditional sense, ie one with public C++ headers, e.g. QtGui, from all the other "modules" we generate as part of a build these days?
      • Why is ExamplesAssetDownloaderPrivate a private `INTERNAL_MODULE`, but QmlAssetDownloader is not?
      • Why do we have both QuickControls2FusionStyle and QuickControls2FusionStyleImpl, if none of them include public C++ headers?
        • Why are neither of these marked as private/internal/something?
          • They are an implementation detail of the QML API, no?

      Can someone who has the full picture explain all of this?

        For Gerrit Dashboard: QTBUG-140397
        # Subject Branch Project Status CR V

            qtbuildsystem Qt Build System Team
            vestbo Tor Arne Vestbø
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes