summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-03-20 19:34:41 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-22 18:59:45 +0100
commit8d28fba3edc9fa749ecf4b89badd8a936bb449fb (patch)
tree4fdfa339f2337c5f066295342077cd6da8a7987c /src/corelib/global
parenta985fa5c51d67473a5c8a6f5aae678a3de613c0d (diff)
support relative Sysroot specification in qt.conf
permits relocatable qmake installations in, say, $sysroot/hosttools/. note that it makes patently no sense to have a relative Prefix when using a relative Sysroot. Change-Id: I36e5149acb20a885c3cd244bc9d67aa48b01a56f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Diffstat (limited to 'src/corelib/global')
-rw-r--r--src/corelib/global/qlibraryinfo.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index d319b2e948..801b4d94cd 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -318,13 +318,11 @@ QLibraryInfo::rawLocation(LibraryLocation loc)
if (!ret.isEmpty() && QDir::isRelativePath(ret)) {
QString baseDir;
#ifdef QT_BUILD_QMAKE
- if (loc == HostPrefixPath || loc == PrefixPath) {
- // We make the prefix path absolute to the executable's directory.
+ if (loc == HostPrefixPath || loc == PrefixPath || loc == SysrootPath) {
+ // We make the prefix/sysroot path absolute to the executable's directory.
// loc == PrefixPath while a sysroot is set would make no sense here.
+ // loc == SysrootPath only makes sense if qmake lives inside the sysroot itself.
baseDir = QFileInfo(qmake_libraryInfoFile()).absolutePath();
- } else if (loc == SysrootPath) {
- // The sysroot is bare
- return ret;
} else if (loc > SysrootPath && loc <= LastHostPath) {
// We make any other host path absolute to the host prefix directory.
baseDir = rawLocation(HostPrefixPath);