Qt4ProjectManager: Force a qmake run on change in the deploy folder

On a change to the deployment folder, we need to run qmake again to
recreate the pkg file, we do that by setting a flag on all qmakesteps
for symbian and saving/restoring that flag.

Reviewed-By: hunger
Task-Nr: QTCREATORBUG-3062
This commit is contained in:
dt
2010-12-03 11:46:35 +01:00
committed by con
parent 48f3e4cd76
commit 592b44e9b5
2 changed files with 22 additions and 2 deletions

View File

@@ -722,6 +722,24 @@ void Qt4PriFileNode::folderChanged(const QString &folder)
contents.updateSubFolders(this, this);
m_project->updateFileList();
// The files to be packaged are listed inside the symbian build system.
// We need to regenerate that list by running qmake
// Other platforms do not have a explicit list of files to package, but package
// directories
foreach (ProjectExplorer::Target *target, m_project->targets()) {
if (target->id() == Constants::S60_DEVICE_TARGET_ID) {
foreach (ProjectExplorer::BuildConfiguration *bc, target->buildConfigurations()) {
Qt4BuildConfiguration *qt4bc = qobject_cast<Qt4BuildConfiguration *>(bc);
if (qt4bc) {
QMakeStep *qmakeStep = qt4bc->qmakeStep();
if (qmakeStep)
qmakeStep->setForced(true);
}
}
}
}
}
bool Qt4PriFileNode::deploysFolder(const QString &folder) const