|  | @@ -1286,12 +1286,16 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode
 | 
	
		
			
				|  |  |      std::string obj_dir = gt->ObjectDirectory;
 | 
	
		
			
				|  |  |      std::string result;
 | 
	
		
			
				|  |  |      const char* sep = "";
 | 
	
		
			
				|  |  | -    for(std::map<cmSourceFile const*, std::string>::const_iterator it
 | 
	
		
			
				|  |  | -        = mapping.begin(); it != mapping.end(); ++it)
 | 
	
		
			
				|  |  | +    for(std::vector<cmSourceFile const*>::const_iterator it
 | 
	
		
			
				|  |  | +        = objectSources.begin(); it != objectSources.end(); ++it)
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -      assert(!it->second.empty());
 | 
	
		
			
				|  |  | +      // Find the object file name corresponding to this source file.
 | 
	
		
			
				|  |  | +      std::map<cmSourceFile const*, std::string>::const_iterator
 | 
	
		
			
				|  |  | +        map_it = mapping.find(*it);
 | 
	
		
			
				|  |  | +      // It must exist because we populated the mapping just above.
 | 
	
		
			
				|  |  | +      assert(!map_it->second.empty());
 | 
	
		
			
				|  |  |        result += sep;
 | 
	
		
			
				|  |  | -      std::string objFile = obj_dir + it->second;
 | 
	
		
			
				|  |  | +      std::string objFile = obj_dir + map_it->second;
 | 
	
		
			
				|  |  |        cmSourceFile* sf = context->Makefile->GetOrCreateSource(objFile, true);
 | 
	
		
			
				|  |  |        sf->SetObjectLibrary(tgtName);
 | 
	
		
			
				|  |  |        sf->SetProperty("EXTERNAL_OBJECT", "1");
 |