From bb06a56af8b1158af4834cfb042d33eb376557ae Mon Sep 17 00:00:00 2001
From: Michael Bruning <michael.bruning@theqtcompany.com>
Date: Mon, 30 Nov 2015 14:46:37 +0100
Subject: [PATCH] Fix ninja for shadow builds on windows.

xcopy seems to behave differently for than cp when copying
directories recursively.

Change-Id: I5130a0642511fb796d9b32e0d4cd2cd2b9153dc0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
---
 tools/qmake/mkspecs/features/functions.prf | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index cab79ff28..40532f709 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -167,8 +167,12 @@ defineReplace(findOrBuildNinja) {
         log("Build directory is different from source directory - copying ninja sources to the build tree...")
         shadow_3rd_party_path = $$system_path($$shadowed($$src_3rd_party_dir))
 
-        !exists($$dirname(out)): mkpath($$shadow_3rd_party_path)
-        system("$$QMAKE_COPY_DIR $$system_quote($$system_path($$absolute_path("ninja", "$$src_3rd_party_dir"))) $$system_quote($$shadow_3rd_party_path)")
+        !exists($$dirname(out)): mkpath($$dirname(out))
+        copy_dir_files {
+          system("$$QMAKE_COPY_DIR $$system_quote($$system_path($$absolute_path("ninja", "$$src_3rd_party_dir"))) $$system_quote($$dirname(out))")
+        } else {
+          system("$$QMAKE_COPY_DIR $$system_quote($$system_path($$absolute_path("ninja", "$$src_3rd_party_dir"))) $$system_quote($$shadow_3rd_party_path)")
+        }
       }
       system("cd $$system_quote($$dirname(out)) && python configure.py --bootstrap")
     }
-- 
GitLab