Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.4
-
None
-
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.