From b5ff180f8c7a48196fdbcb0ff0db4dcfd5842585 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Wed, 27 Jan 2021 17:28:55 +0100 Subject: [PATCH] cmakeprojectmanager: save files before build This code path (CMakeBuildSystem::buildCMakeTarget) is taken when building a specific target, such as when activating Build > Build for Run Configuration. Building via e.g. Ctrl+B takes a different code path, so this shouldn't be called more than necessary. Fixes: QTCREATORBUG-25276 Change-Id: I362bafda43460eaeac9cbf0f053bf457a76702f1 Reviewed-by: Cristian Adam --- src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 1bdc82d327e..318cf8db117 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -454,7 +455,8 @@ void CMakeBuildSystem::runCMakeWithExtraArguments() void CMakeBuildSystem::buildCMakeTarget(const QString &buildTarget) { QTC_ASSERT(!buildTarget.isEmpty(), return); - cmakeBuildConfiguration()->buildTarget(buildTarget); + if (ProjectExplorerPlugin::saveModifiedFiles()) + cmakeBuildConfiguration()->buildTarget(buildTarget); } void CMakeBuildSystem::handleTreeScanningFinished()