summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-10-26 13:45:51 -0400
committerBrad King <brad.king@kitware.com>2021-10-26 14:07:07 -0400
commit9eaf0932af0cd7881c712fbe4586ec59cb9e0d10 (patch)
treee8d2214d02413079ea23d8459b7d9326222d4c04 /Source
parentfb6ab54076217452e673ad310faba2a1a993366f (diff)
downloadcmake-9eaf0932af0cd7881c712fbe4586ec59cb9e0d10.tar.gz
cmGlobalVisualStudioVersionedGenerator: Fix repeating SetGeneratorInstance
Fix logic added by commit 8917b8512f (cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstance, 2021-10-20) to avoid repeating work.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalVisualStudioVersionedGenerator.cxx6
-rw-r--r--Source/cmGlobalVisualStudioVersionedGenerator.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/Source/cmGlobalVisualStudioVersionedGenerator.cxx b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
index ec2e74fd93..f27b2c47d3 100644
--- a/Source/cmGlobalVisualStudioVersionedGenerator.cxx
+++ b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
@@ -436,9 +436,11 @@ bool cmGlobalVisualStudioVersionedGenerator::MatchesGeneratorName(
bool cmGlobalVisualStudioVersionedGenerator::SetGeneratorInstance(
std::string const& i, cmMakefile* mf)
{
- if (this->GeneratorInstance && i == *(this->GeneratorInstance)) {
+ if (this->LastGeneratorInstanceString &&
+ i == *(this->LastGeneratorInstanceString)) {
return true;
}
+
if (!i.empty()) {
if (!this->vsSetupAPIHelper.SetVSInstance(i)) {
std::ostringstream e;
@@ -478,6 +480,8 @@ bool cmGlobalVisualStudioVersionedGenerator::SetGeneratorInstance(
// The selected instance may have a different MSBuild than previously found.
this->MSBuildCommandInitialized = false;
+ this->LastGeneratorInstanceString = i;
+
return true;
}
diff --git a/Source/cmGlobalVisualStudioVersionedGenerator.h b/Source/cmGlobalVisualStudioVersionedGenerator.h
index b7760ac72b..2aed65b87f 100644
--- a/Source/cmGlobalVisualStudioVersionedGenerator.h
+++ b/Source/cmGlobalVisualStudioVersionedGenerator.h
@@ -76,5 +76,5 @@ private:
class Factory17;
friend class Factory17;
mutable cmVSSetupAPIHelper vsSetupAPIHelper;
- cm::optional<std::string> GeneratorInstance;
+ cm::optional<std::string> LastGeneratorInstanceString;
};