|  | @@ -2060,6 +2060,17 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string>
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      i++;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  std::string dir = cmSystemTools::GetFilenamePath(file.c_str());
 | 
	
		
			
				|  |  | +  if(!cmSystemTools::FileExists(dir.c_str()) &&
 | 
	
		
			
				|  |  | +     !cmSystemTools::MakeDirectory(dir.c_str()))
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +    std::string errstring = "FILE(DOWNLOAD ) error; cannot create directory: "
 | 
	
		
			
				|  |  | +      + dir + ". Maybe need administrative privileges.";
 | 
	
		
			
				|  |  | +    this->SetError(errstring.c_str());
 | 
	
		
			
				|  |  | +    return false;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    std::ofstream fout(file.c_str(), std::ios::binary);
 | 
	
		
			
				|  |  |    if(!fout)
 | 
	
		
			
				|  |  |      {
 |