| 
					
				 | 
			
			
				@@ -12,8 +12,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmStringAlgorithms.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmSystemTools.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-cm::optional<cmGccDepfileContent> cmReadGccDepfile(const char* filePath, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                   const std::string& prefix) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+cm::optional<cmGccDepfileContent> cmReadGccDepfile( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const char* filePath, const std::string& prefix, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  GccDepfilePrependPaths prependPaths) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmGccDepfileLexerHelper helper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!helper.readFile(filePath)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,7 +24,8 @@ cm::optional<cmGccDepfileContent> cmReadGccDepfile(const char* filePath, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (auto& dep : *deps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (auto& rule : dep.rules) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!prefix.empty() && !cmSystemTools::FileIsFullPath(rule)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (prependPaths == GccDepfilePrependPaths::All && !prefix.empty() && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          !cmSystemTools::FileIsFullPath(rule)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rule = cmStrCat(prefix, '/', rule); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (cmSystemTools::FileIsFullPath(rule)) { 
			 |