From 8d28fba3edc9fa749ecf4b89badd8a936bb449fb Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 20 Mar 2012 19:34:41 +0100 Subject: 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 --- src/corelib/global/qlibraryinfo.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/corelib/global') 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); -- cgit v1.2.3