| 
					
				 | 
			
			
				@@ -1033,6 +1033,19 @@ void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cmMakefile::UpdateOutputToSourceMap(std::string const& output, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     cmSourceFile* source) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  OutputToSourceMap::iterator i = this->OutputToSource.find(output); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(i != this->OutputToSource.end()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Multiple custom commands produce the same output but may 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // be attached to a different source file (MAIN_DEPENDENCY). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // LinearGetSourceFileWithOutput would return the first one, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // so keep the mapping for the first one. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // TODO: Warn the user about this case.  However, the VS 8 generator 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // triggers it for separate generate.stamp rules in ZERO_CHECK and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // individual targets. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this->OutputToSource[output] = source; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |