Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.0.0
-
None
-
Windows 7 64 bits and Visual Studio 2012
-
6654a05fcad565a302e205e7f7deaa0b2757082d,4c34b418b89681d1228ab24749f4462bf0054d56,04478614c1f21de8ff9abb7fe9dc64c672065695
Description
Hi,
I've built Qt 5.0 for win32-msvc2012 into D:/dev/qt-everywhere-opensource-src-5.0.0/
Then, because I want to distribute this binaries to a few friends, I moved it to another location and created a qt.conf in the qbase\bin folder so that qmake and other binaries know where to look for their stuff.
Here is my qt.conf (in qtbase\bin)
[Paths]
Prefix=..
Documentation=doc
Headers=include
Libraries=lib
Binaries=bin
Plugins=plugins
Qml2Imports=qml
Imports=imports
Data=.
ArchData=.
Translations=translations
Basically saying to use qtbase as root folder.
Then I did a qmake -query and it looked fine, I could see my changes were taken into account. But then, when I did a basic qmake, I ended up with the error
D:/dev/git-repo/ant/ThirdParty/Qt-5.0/msvc2012-x64-sse4.2/mkspecs/modules/qt_lib_axbase.pri:8: WARNING: Include file D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/mkspecs/modules-nst/qt_lib_axbase.pri not found
So it means my new location (D:/dev/git-repo/ant/ThirdParty/Qt-5.0/msvc2012-x64-sse4.2) is still trying to read something from the old location (D:/dev/qt-everywhere-opensource-src-5.0.0)
And when I opended qt_lib_axbase.pri, I saw an horrible thing, hardcoded paths to the old location:
QT_MODULE_BIN_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/bin
QT_MODULE_INCLUDE_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/include
QT_MODULE_IMPORT_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/imports
QT_MODULE_QML_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/qml
QT_MODULE_LIB_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/lib
QT_MODULE_LIBEXEC_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/libexec
QT_MODULE_PLUGIN_BASE = D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/plugins
include(D:/dev/qt-everywhere-opensource-src-5.0.0/qtbase/mkspecs/modules-inst/qt_lib_axbase.pri)
The expected behavior is a way to avoid/override any of these hard coded paths, using qt.conf and a property for mkspec/modules/features.
I really see no reason why we could not move Qt to another location, wasn't that the point of qt.conf? Is there a workaround using qt.conf? Because I could not find it (by the way the documentation is a bit light).
Attachments
For Gerrit Dashboard: QTBUG-28827 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
46164,1 | don't create forwarding module pris for non-prefix builds | release | qt/qtbase | Status: MERGED | +2 | 0 |