diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index c3cae5ff62e..747659de3b8 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -621,10 +621,10 @@ void CMakeBuildSettingsWidget::reconfigureWithInitialParameters() if (reply != QMessageBox::Yes) return; - m_buildConfig->cmakeBuildSystem()->clearCMakeCache(); - updateInitialCMakeArguments(); + m_buildConfig->cmakeBuildSystem()->clearCMakeCache(); + if (ProjectExplorerPlugin::saveModifiedFiles()) m_buildConfig->cmakeBuildSystem()->runCMake(); } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 4db4b78a09b..a150d82f9a5 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -1239,6 +1239,11 @@ void CMakeBuildSystem::clearCMakeCache() path.removeRecursively(); emit configurationCleared(); +} + +void CMakeBuildSystem::disableCMakeBuildMenuActions() +{ + emitParsingStarted(); emitParsingFinished(false); } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h index 32966c64bbb..b6827385908 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h @@ -77,6 +77,7 @@ public: bool persistCMakeState(); void clearCMakeCache(); + void disableCMakeBuildMenuActions(); // Context menu actions: void buildCMakeTarget(const QString &buildTarget); diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index f3e512eebb0..b81b03bee6d 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -262,6 +262,7 @@ void CMakeManager::clearCMakeCache(BuildSystem *buildSystem) QTC_ASSERT(cmakeBuildSystem, return); cmakeBuildSystem->clearCMakeCache(); + cmakeBuildSystem->disableCMakeBuildMenuActions(); } void CMakeManager::runCMake(BuildSystem *buildSystem)