diff --git a/src/plugins/qt4projectmanager/gdbmacrosbuildstep.cpp b/src/plugins/qt4projectmanager/gdbmacrosbuildstep.cpp index be0804b7cff69d3034d1f49ab49c1c3606e1cf2f..c94a2bca0cf3c76d9c76058a4bc398ada77ac587 100644 --- a/src/plugins/qt4projectmanager/gdbmacrosbuildstep.cpp +++ b/src/plugins/qt4projectmanager/gdbmacrosbuildstep.cpp @@ -37,6 +37,8 @@ #include <coreplugin/icore.h> #include <utils/qtcassert.h> +#include <QFileInfo> + using namespace Qt4ProjectManager; using namespace Qt4ProjectManager::Internal; @@ -72,10 +74,15 @@ void GdbMacrosBuildStep::run(QFutureInterface<bool> & fi) QDir dir; dir.mkpath(destDir); foreach (const QString &file, files) { - QFile destination(destDir + file); - if (destination.exists()) - destination.remove(); - QFile::copy(dumperPath + file, destDir + file); + QString source = dumperPath + file; + QString dest = destDir + file; + QFileInfo destInfo(dest); + if (destInfo.exists()) { + if (destInfo.lastModified() >= QFileInfo(source).lastModified()) + continue; + QFile::remove(dest); + } + QFile::copy(source, dest); } Qt4Project *qt4Project = static_cast<Qt4Project *>(project());