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

Header only Qt modules shouldn't propagate Qt::PlatformModuleInternal as public dependency

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.0.3, 6.1.0 Beta3, 6.2
    • Build System: CMake
    • None

    Description

      Investigated from https://bugreports.qt.io/browse/QTCREATORBUG-25283

      qt_internal_add_module unconditionally adds a private Qt::PlatformModuleInternal dependency on the created Qt module.

      However if the module is a HEADER-only module (like QtUiPlugin in qttools), we automatically move all dependencies to be added to INTERFACE_LINK_LIBRARIES, because we can't set LINK_LIBRARIES for a header only module.

      This causes all consumers of the header module to bring in compilation flags of Qt::PlatformModuleInternal, which is not what we want for public user projects.

      In the linked issue a Qt Creator target links to the Qt::Designer lib from qttools, which brings QtUiPlugin -> Qt::PlatformModuleInternal dependency, that causes Creator code to compile with the -fapplication-extensions flag and that causes issues in the context of PCH on macOS.

      Investigate if the solution is merely to remove the PlatformModuleInternal public dependency for header only modules, or if it requires something more.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qtbuildsystem Qt Build System Team
              alexandru.croitor Alexandru Croitor
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes