diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 2638af1d28..5fd931f69d 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1441,7 +1441,7 @@ void cmLocalGenerator::GetDeviceLinkFlags( auto linklang = linkLineComputer.GetLinkerLanguage(target, config); auto ipoEnabled = target->IsIPOEnabled(linklang, config); - if (!ipoEnabled) { + if (!ipoEnabled && pcli) { ipoEnabled = linkLineComputer.ComputeRequiresDeviceLinkingIPOFlag(*pcli); } if (ipoEnabled) { @@ -3001,9 +3001,8 @@ void cmLocalGenerator::CopyPchCompilePdb( } else { cc->SetOutputs(outputs); cmSourceFile* copy_rule = this->AddCustomCommandToOutput(std::move(cc)); - copy_rule->SetProperty("CXX_SCAN_FOR_MODULES", "0"); - if (copy_rule) { + copy_rule->SetProperty("CXX_SCAN_FOR_MODULES", "0"); target->AddSource(copy_rule->ResolveFullPath()); } }