diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp index f32173e8235..748657acc2d 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp @@ -323,8 +323,10 @@ bool MaemoMountAndCopyDeployStep::isDeploymentNeeded(const QString &hostName) co const int deployableCount = deployables->deployableCount(); for (int i = 0; i < deployableCount; ++i) { const MaemoDeployable &d = deployables->deployableAt(i); - if (currentlyNeedsDeployment(hostName, d)) + if (currentlyNeedsDeployment(hostName, d) + || QFileInfo(d.localFilePath).isDir()) { m_filesToCopy << d; + } } return !m_filesToCopy.isEmpty(); } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoinstalltosysrootstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoinstalltosysrootstep.cpp index 4a42ad68454..4b0f5ac4b4c 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoinstalltosysrootstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoinstalltosysrootstep.cpp @@ -312,18 +312,13 @@ void MaemoCopyToSysrootStep::run(QFutureInterface &fi) const QFileInfo localFileInfo(deployable.localFilePath); const QString targetFilePath = tc->sysroot() + sep + deployable.remoteDir + sep + localFileInfo.fileName(); - if (QFileInfo(targetFilePath).exists() - && MaemoGlobal::isFileNewerThan(targetFilePath, localFileInfo.lastModified())) { - continue; - } sysRootDir.mkpath(deployable.remoteDir.mid(1)); - QFile::remove(targetFilePath); - if (!QFile::copy(deployable.localFilePath, targetFilePath)) { - emit addOutput(tr("Sysroot installation failed: " - "Could not copy '%1' to '%2'. Continuing anyway.") - .arg(QDir::toNativeSeparators(deployable.localFilePath), - QDir::toNativeSeparators(targetFilePath)), - ErrorMessageOutput); + QString errorMsg; + MaemoGlobal::removeRecursively(targetFilePath, errorMsg); + if (!MaemoGlobal::copyRecursively(deployable.localFilePath, + targetFilePath, &errorMsg)) { + emit addOutput(tr("Sysroot installation failed: $1\n" + " Continuing anyway.").arg(errorMsg), ErrorMessageOutput); } QCoreApplication::processEvents(); if (fi.isCanceled()) {