Skip to content

contrib: qt: fix link path on Windows

Path were still redirecting to the contrib-win64/ folder instead of linking the $(PREFIX) folder in the Libs: section.

It was only impacting qt_plugins and not qt_modules. In particular, when looking at qt/src/corelib/Makefile.Debug, we can see that a $(SED) command line is added to replace the contrib-win64/ part into the correct prefix path.

By looking at the qt/qmake/generators/makefile.cpp file, we can check that this command is added because replacement has been requested for qt_modules. However, replacement doesn't exist for qt_plugins so the file is installed only with $(INSTALL_FILE).

At the same time, adding a replacement in the special qmake variable QMAKE_PKGCONFIG_INSTALL_REPLACE leads to $(INSTALL_FILE) not being called, because $(SED) > dst will be used to install the file instead. It leads to pkg-static.sh not being called and libdir not being patched correctly.

To fix this, also patch qmake to always use $(INSTALL_FILE) even if $(SED) is used before.

Fixes #27316 (closed)

Edited by Alexandre Janniaux

Merge request reports