From 51fbd97bc646690ab921192829f3210852633475 Mon Sep 17 00:00:00 2001 From: Jani Korteniemi Date: Fri, 16 May 2025 10:17:22 +0300 Subject: [PATCH] Fix androiddeployqt copying build directory When project's Android package source directory is set to the project level (instead of project/android) androiddeployqt keeps copying the build directory under itself infinitely. Add check to copyFiles: -If android source dir is the same as project source dir -And if current directory copied is in build directory path Pick-to: 6.8 6.5 Fixes: QTBUG-126743 Change-Id: If45766152c6cbf9e2ee916baa5a15282d3fedaf2 Reviewed-by: Assam Boudjelthia (cherry picked from commit 3047d6a8a19fed870597d6c482f6c1a826ffb9f2) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit ee0cb525cda59bc25b248440225838197a888871) --- src/tools/androiddeployqt/main.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index c31f5329014..43277c2a746 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -1498,6 +1498,10 @@ bool copyFiles(const QDir &sourceDirectory, const QDir &destinationDirectory, co for (const QFileInfo &entry : entries) { if (entry.isDir()) { QDir dir(entry.absoluteFilePath()); + const bool destinationInCopyDir = destinationDirectory.absolutePath().startsWith(dir.absolutePath()); + if (sourceDirectory == options.androidSourceDirectory && destinationInCopyDir) + continue; + if (!destinationDirectory.mkpath(dir.dirName())) { fprintf(stderr, "Cannot make directory %s in %s\n", qPrintable(dir.dirName()), qPrintable(destinationDirectory.path())); return false;