QMake: Make 'entrypoint' and 'qt' CONFIG values order-independent

If users have
    CONFIG += qt
in their .pro file then the project won't link if the platform requires
the entrypoint module. This is because qt.prf is loaded before
entrypoint.prf in this situation.

Make the CONFIG values 'entrypoint' and 'qt' independent of their order
by embedding the content of entrypoint.prf into qt.prf.

Pick-to: 6.5 6.6
Fixes: QTBUG-117674
Change-Id: I72a3c9be023a73d70454533262544a4211cb6974
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
Joerg Bornemann 2023-09-29 11:17:07 +02:00
parent 9b37762c55
commit b289d669a5
2 changed files with 12 additions and 10 deletions

View File

@ -1,10 +0,0 @@
!qt: return()
win32 {
!console:contains(TEMPLATE, ".*app"): \
QT_PRIVATE += entrypoint_private
} else:uikit {
qt_depends = $$resolve_depends(QT, "QT.")
!watchos:equals(TEMPLATE, app):contains(qt_depends, gui(-private)?): \
QT_PRIVATE += entrypoint_private
}

View File

@ -69,6 +69,18 @@ unix {
}
}
# Load the entrypoint module if requested
entrypoint {
win32 {
!console:contains(TEMPLATE, ".*app"): \
QT_PRIVATE += entrypoint_private
} else:uikit {
qt_depends = $$resolve_depends(QT, "QT.")
!watchos:equals(TEMPLATE, app):contains(qt_depends, gui(-private)?): \
QT_PRIVATE += entrypoint_private
}
}
# Will automatically add plugins, so run first
contains(QT_CONFIG, permissions): load(permissions)