|  | @@ -5885,6 +5885,7 @@ void cmGeneratorTarget::ExpandLinkItems(
 | 
	
		
			
				|  |  |    std::string const& prop, std::string const& value, std::string const& config,
 | 
	
		
			
				|  |  |    cmGeneratorTarget const* headTarget, bool usage_requirements_only,
 | 
	
		
			
				|  |  |    std::vector<cmLinkItem>& items, bool& hadHeadSensitiveCondition,
 | 
	
		
			
				|  |  | +  bool& hadContextSensitiveCondition,
 | 
	
		
			
				|  |  |    bool& hadLinkLanguageSensitiveCondition) const
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |    // Keep this logic in sync with ComputeLinkImplementationLibraries.
 | 
	
	
		
			
				|  | @@ -5903,6 +5904,7 @@ void cmGeneratorTarget::ExpandLinkItems(
 | 
	
		
			
				|  |  |                 libs);
 | 
	
		
			
				|  |  |    this->LookupLinkItems(libs, cge->GetBacktrace(), items);
 | 
	
		
			
				|  |  |    hadHeadSensitiveCondition = cge->GetHadHeadSensitiveCondition();
 | 
	
		
			
				|  |  | +  hadContextSensitiveCondition = cge->GetHadContextSensitiveCondition();
 | 
	
		
			
				|  |  |    hadLinkLanguageSensitiveCondition =
 | 
	
		
			
				|  |  |      cge->GetHadLinkLanguageSensitiveCondition();
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -6407,6 +6409,7 @@ void cmGeneratorTarget::ComputeLinkInterfaceLibraries(
 | 
	
		
			
				|  |  |      this->ExpandLinkItems(linkIfaceProp, *explicitLibraries, config,
 | 
	
		
			
				|  |  |                            headTarget, usage_requirements_only, iface.Libraries,
 | 
	
		
			
				|  |  |                            iface.HadHeadSensitiveCondition,
 | 
	
		
			
				|  |  | +                          iface.HadContextSensitiveCondition,
 | 
	
		
			
				|  |  |                            iface.HadLinkLanguageSensitiveCondition);
 | 
	
		
			
				|  |  |    } else if (!cmp0022NEW)
 | 
	
		
			
				|  |  |    // If CMP0022 is NEW then the plain tll signature sets the
 | 
	
	
		
			
				|  | @@ -6427,10 +6430,12 @@ void cmGeneratorTarget::ComputeLinkInterfaceLibraries(
 | 
	
		
			
				|  |  |        static const std::string newProp = "INTERFACE_LINK_LIBRARIES";
 | 
	
		
			
				|  |  |        if (cmProp newExplicitLibraries = this->GetProperty(newProp)) {
 | 
	
		
			
				|  |  |          bool hadHeadSensitiveConditionDummy = false;
 | 
	
		
			
				|  |  | +        bool hadContextSensitiveConditionDummy = false;
 | 
	
		
			
				|  |  |          bool hadLinkLanguageSensitiveConditionDummy = false;
 | 
	
		
			
				|  |  |          this->ExpandLinkItems(newProp, *newExplicitLibraries, config,
 | 
	
		
			
				|  |  |                                headTarget, usage_requirements_only, ifaceLibs,
 | 
	
		
			
				|  |  |                                hadHeadSensitiveConditionDummy,
 | 
	
		
			
				|  |  | +                              hadContextSensitiveConditionDummy,
 | 
	
		
			
				|  |  |                                hadLinkLanguageSensitiveConditionDummy);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        if (ifaceLibs != iface.Libraries) {
 | 
	
	
		
			
				|  | @@ -6498,6 +6503,7 @@ const cmLinkInterface* cmGeneratorTarget::GetImportLinkInterface(
 | 
	
		
			
				|  |  |      this->ExpandLinkItems(info->LibrariesProp, info->Libraries, config,
 | 
	
		
			
				|  |  |                            headTarget, usage_requirements_only, iface.Libraries,
 | 
	
		
			
				|  |  |                            iface.HadHeadSensitiveCondition,
 | 
	
		
			
				|  |  | +                          iface.HadContextSensitiveCondition,
 | 
	
		
			
				|  |  |                            iface.HadLinkLanguageSensitiveCondition);
 | 
	
		
			
				|  |  |      std::vector<std::string> deps = cmExpandedList(info->SharedDeps);
 | 
	
		
			
				|  |  |      this->LookupLinkItems(deps, cmListFileBacktrace(), iface.SharedDeps);
 | 
	
	
		
			
				|  | @@ -7020,6 +7026,9 @@ void cmGeneratorTarget::ComputeLinkImplementationLibraries(
 | 
	
		
			
				|  |  |      if (cge->GetHadHeadSensitiveCondition()) {
 | 
	
		
			
				|  |  |        impl.HadHeadSensitiveCondition = true;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    if (cge->GetHadContextSensitiveCondition()) {
 | 
	
		
			
				|  |  | +      impl.HadContextSensitiveCondition = true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      if (cge->GetHadLinkLanguageSensitiveCondition()) {
 | 
	
		
			
				|  |  |        impl.HadLinkLanguageSensitiveCondition = true;
 | 
	
		
			
				|  |  |      }
 |