Blob Blame History Raw
From 8e28e0603a900e1b18ebfd14c4f87b16dabf4cf6 Mon Sep 17 00:00:00 2001
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Date: Fri, 19 Sep 2008 17:41:26 +0200
Subject: [PATCH 06/13] Fix configure.exe to do an out-of-source build on windows

qt-bugs@ issue : N227213
Trolltech task ID : none yet
---
 bin/syncqt             |    6 +++++-
 projects.pro           |    3 +++
 src/tools/moc/main.cpp |    6 ++++++
 3 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/bin/syncqt b/bin/syncqt
index 7a9f1d3..b5a8e1c 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -365,9 +365,13 @@ sub fixPaths {
         $match_dir = $tmp;
         $i = $slash;
     }
+    my $cnt_ofs = 0;
+    if($match_dir =~ /^[a-zA-Z]:$/) {
+      $cnt_ofs = 1;
+    }
     if($match_dir) {
         my $after = substr($dir, length($match_dir));
-        my $count = ($after =~ tr,/,,);
+        my $count = ($after =~ tr,/,,) - $cnt_ofs;
         my $dots = "";
         for(my $i = 0; $i < $count; $i++) {
             $dots .= "../";
diff --git a/projects.pro b/projects.pro
index 2596c0a..3ba0688 100644
--- a/projects.pro
+++ b/projects.pro
@@ -127,6 +127,9 @@ unix {
    DEFAULT_QMAKESPEC ~= s,^.*mkspecs/,,g
    mkspecs.commands += $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default; $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
 }
+win32 {
+   mkspecs.files += $$QT_BUILD_TREE/mkspecs/default
+}
 INSTALLS += mkspecs
 
 false:macx { #mac install location
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp
index d519b09..7979836 100644
--- a/src/tools/moc/main.cpp
+++ b/src/tools/moc/main.cpp
@@ -94,7 +94,13 @@ static QByteArray combinePath(const char *infile, const char *outfile)
         inSplitted.prepend(QLatin1String(".."));
     }
     inSplitted.append(inFileInfo.fileName());
+#ifdef Q_WS_WIN
+    const QString rel = inSplitted.join(QLatin1String("/"));
+    const QString abs = inFileInfo.absoluteFilePath();
+    return QFile::encodeName(rel.length() < abs.length() ? rel : abs);
+#else
     return QFile::encodeName(inSplitted.join(QLatin1String("/")));
+#endif
 }
 
 
-- 
1.6.5.1