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

Versionless targets hide finalizers set on versioned targets

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 6.2.0 Alpha
    • 6.0.3, 6.1.0 RC2
    • Build System: CMake
    • None
    • All
    • f5c69a5195684bf11a4d55c189435eea35e66125 (qt/qtbase/dev)

    Description

      The logic in qt6_finalize_executable() iterates over the directly linked targets and looks at their INTERFACE_QT_EXECUTABLE_FINALIZERS target properties. When versionless targets are used, this doesn't work because the properties are set on the versioned targets. qt6_finalize_executable() should probably recurse to all targets as far as possible, not just rely on the directly linked targets.

      Note that the versionless targets are created as INTERFACE IMPORTED rather than aliases, presumably because aliases weren't allowed to be non-global until CMake 3.18. This means we can't just test for an ALIASED_TARGET property.

      Attachments

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

        Activity

          People

            crscott Craig Scott
            crscott Craig Scott
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes