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

[REG 5.9 -> 5.12] UIC --dependencies reports global headers

    XMLWordPrintable

Details

    • 90779d96adfa51a3fc00b6c0d93168b4bbfcf983 (qt/qtbase/5.13) 515e9a14276bc524ec1b7ab53dad874de3fabc48 (qt/qtbase/5.12.6)

    Description

      When asking UIC to generate a list of dependencies with uic --dependencies on a file that specifies <includes><include location="global">... or <customwidgets><customwidget><header location="global">..., these global includes are output. This is problematic because they end up in the Makefile as dependencies and are not found by make.

      Example foo.ui:

      <?xml version="1.0" encoding="UTF-8"?>
      <ui version="4.0">
        <class>Foo</class>
        <widget class="QWidget" name="Foo">
          <layout class="QVBoxLayout" name="verticalLayout">
            <item>
              <widget class="QwtPlot" name="plot"/>
            </item>
          </layout>
        </widget>
        <customwidgets>
          <customwidget>
            <class>QwtPlot</class>
            <extends>QFrame</extends>
            }}{{<header location="global">qwt/qwt_plot.h</header>
            }}{{ <container>1</container>
          </customwidget>
        </customwidgets>
      </ui>

      Expect empty output of uic -d foo.ui, but get qwt/qwt_plot.h.

      Note: This should affect more versions than I marked (seems all 5.x are affected if I interpret git annotate correctly), but only tested on 5.12.4.

      Attachments

        1. demo.zip
          1 kB
          Olaf Mandel
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            jbornema Joerg Bornemann
            omandel Olaf Mandel
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes