From 9eaf0932af0cd7881c712fbe4586ec59cb9e0d10 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 26 Oct 2021 13:45:51 -0400 Subject: cmGlobalVisualStudioVersionedGenerator: Fix repeating SetGeneratorInstance Fix logic added by commit 8917b8512f (cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstance, 2021-10-20) to avoid repeating work. --- Source/cmGlobalVisualStudioVersionedGenerator.cxx | 6 +++++- Source/cmGlobalVisualStudioVersionedGenerator.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/cmGlobalVisualStudioVersionedGenerator.cxx b/Source/cmGlobalVisualStudioVersionedGenerator.cxx index ec2e74f..f27b2c4 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 b7760ac..2aed65b 100644 --- a/Source/cmGlobalVisualStudioVersionedGenerator.h +++ b/Source/cmGlobalVisualStudioVersionedGenerator.h @@ -76,5 +76,5 @@ private: class Factory17; friend class Factory17; mutable cmVSSetupAPIHelper vsSetupAPIHelper; - cm::optional GeneratorInstance; + cm::optional LastGeneratorInstanceString; }; -- cgit v0.12