|  | @@ -1368,22 +1368,22 @@ void cmGlobalXCodeGenerator::ForceLinkerLanguages()
 | 
	
		
			
				|  |  |    for(TargetMap::const_iterator
 | 
	
		
			
				|  |  |          ti = this->TotalTargets.begin(); ti != this->TotalTargets.end(); ++ti)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -    this->ForceLinkerLanguage(*ti->second);
 | 
	
		
			
				|  |  | +    cmGeneratorTarget* gt = this->GetGeneratorTarget(ti->second);
 | 
	
		
			
				|  |  | +    this->ForceLinkerLanguage(gt);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  //----------------------------------------------------------------------------
 | 
	
		
			
				|  |  | -void cmGlobalXCodeGenerator::ForceLinkerLanguage(cmTarget& cmtarget)
 | 
	
		
			
				|  |  | +void cmGlobalXCodeGenerator::ForceLinkerLanguage(cmGeneratorTarget* gtgt)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |    // This matters only for targets that link.
 | 
	
		
			
				|  |  | -  if(cmtarget.GetType() != cmState::EXECUTABLE &&
 | 
	
		
			
				|  |  | -     cmtarget.GetType() != cmState::SHARED_LIBRARY &&
 | 
	
		
			
				|  |  | -     cmtarget.GetType() != cmState::MODULE_LIBRARY)
 | 
	
		
			
				|  |  | +  if(gtgt->GetType() != cmState::EXECUTABLE &&
 | 
	
		
			
				|  |  | +     gtgt->GetType() != cmState::SHARED_LIBRARY &&
 | 
	
		
			
				|  |  | +     gtgt->GetType() != cmState::MODULE_LIBRARY)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |      return;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  cmGeneratorTarget *gtgt = this->GetGeneratorTarget(&cmtarget);
 | 
	
		
			
				|  |  |    std::string llang = gtgt->GetLinkerLanguage("NOCONFIG");
 | 
	
		
			
				|  |  |    if(llang.empty()) { return; }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1399,11 +1399,11 @@ void cmGlobalXCodeGenerator::ForceLinkerLanguage(cmTarget& cmtarget)
 | 
	
		
			
				|  |  |    // Add an empty source file to the target that compiles with the
 | 
	
		
			
				|  |  |    // linker language.  This should convince Xcode to choose the proper
 | 
	
		
			
				|  |  |    // language.
 | 
	
		
			
				|  |  | -  cmMakefile* mf = cmtarget.GetMakefile();
 | 
	
		
			
				|  |  | +  cmMakefile* mf = gtgt->Target->GetMakefile();
 | 
	
		
			
				|  |  |    std::string fname = gtgt->GetLocalGenerator()->GetCurrentBinaryDirectory();
 | 
	
		
			
				|  |  |    fname += cmake::GetCMakeFilesDirectory();
 | 
	
		
			
				|  |  |    fname += "/";
 | 
	
		
			
				|  |  | -  fname += cmtarget.GetName();
 | 
	
		
			
				|  |  | +  fname += gtgt->GetName();
 | 
	
		
			
				|  |  |    fname += "-CMakeForceLinker";
 | 
	
		
			
				|  |  |    fname += ".";
 | 
	
		
			
				|  |  |    fname += cmSystemTools::LowerCase(llang);
 |