qmake: fix path to external host bins

The OE_QMAKE_PATH_EXTERNAL_HOST_BINS is used for native host tools,
such as qmake, and it was working only for target builds. Calculate
correct path for native and nativesdk builds as well, taking into
account case where additional subdirectory is added to QT6_INSTALL_BINDIR.

Fixes: QTBUG-140631
Pick-to: 6.10 6.9 6.8
Change-Id: Ic8f36a64a6a43b0a073586a90ecf832482727dad
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
This commit is contained in:
Samuli Piippo 2025-09-29 07:30:15 +00:00
parent 3d4df9662a
commit 769d4acc80

View File

@ -18,7 +18,7 @@ OE_QMAKE_PATH_HOST_BINS = "${QT6_INSTALL_BINDIR}"
OE_QMAKE_PATH_HOST_DATA = "${QMAKE_MKSPEC_PATH_TARGET}"
OE_QMAKE_PATH_HOST_LIBS = "${STAGING_LIBDIR}"
OE_QMAKE_PATH_HOST_LIBEXECS = "${QT6_INSTALL_LIBEXECDIR}"
OE_QMAKE_PATH_EXTERNAL_HOST_BINS = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_HOST_BINS}"
OE_QMAKE_PATH_EXTERNAL_HOST_BINS = "${@os.path.normpath(os.path.join(d.getVar('STAGING_BINDIR_NATIVE'),os.path.relpath(d.getVar('OE_QMAKE_PATH_HOST_BINS'),d.getVar('bindir'))))}"
# This is useful for target recipes to reference native mkspecs
QMAKE_MKSPEC_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}"