From d9fd32b3b347327adb146284b543ec8e97cae6bd Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 19 Feb 2021 11:21:28 -0500 Subject: cmVisualStudio10TargetGenerator: Refactor per-source PCH logic De-duplicate the link language lookup. --- Source/cmVisualStudio10TargetGenerator.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index a93a78a..50a456d 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -2413,16 +2413,16 @@ void cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags( // 1. We have SKIP_PRECOMPILE_HEADERS == true // 2. We are creating the pre-compiled header // 3. We are a different language than the linker language AND pch is - // enabled - const std::string pchSource = + // enabled. + std::string const& linkLanguage = + this->GeneratorTarget->GetLinkerLanguage(config); + std::string const& pchSource = this->GeneratorTarget->GetPchSource(config, lang); const bool skipPCH = pchSource.empty() || sf.GetPropertyAsBool("SKIP_PRECOMPILE_HEADERS"); const bool makePCH = (sf.GetFullPath() == pchSource); - const bool useSharedPCH = - !skipPCH && (lang == this->GeneratorTarget->GetLinkerLanguage(config)); - const bool useDifferentLangPCH = - !skipPCH && (lang != this->GeneratorTarget->GetLinkerLanguage(config)); + const bool useSharedPCH = !skipPCH && (lang == linkLanguage); + const bool useDifferentLangPCH = !skipPCH && (lang != linkLanguage); const bool needsPCHFlags = (makePCH || useSharedPCH || useDifferentLangPCH); -- cgit v0.12