diff options
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakeproject.cpp')
| -rw-r--r-- | src/plugins/qmakeprojectmanager/qmakeproject.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 2445a823c8d..7edd8609a9b 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -1582,15 +1582,19 @@ void QmakeBuildSystem::buildHelper(Action action, bool isFileBuild, QmakeProFile bc->setSubNodeBuild(profile->proFileNode()); } - if (isFileBuild) + BuildStepList *buildSteps = bc->buildSteps(); + if (isFileBuild) { bc->setFileNodeBuild(buildableFile); + if (BuildStepList * const bsl = bc->makeStepOnlyList(); !bsl->isEmpty()) + buildSteps = bsl; + } if (ProjectExplorerPlugin::saveModifiedFiles()) { if (action == BUILD) - BuildManager::buildList(bc->buildSteps()); + BuildManager::buildList(buildSteps); else if (action == CLEAN) BuildManager::buildList(bc->cleanSteps()); else if (action == REBUILD) - BuildManager::buildLists({bc->cleanSteps(), bc->buildSteps()}); + BuildManager::buildLists({bc->cleanSteps(), buildSteps}); } bc->setSubNodeBuild(nullptr); |
