BUG: the directory the FILE DOWNLOAD command is writing to might not exist.

This commit is contained in:
Sebastien Barre 2008-03-13 09:28:26 -04:00
parent b40890c8ca
commit cddb1346b7
1 changed files with 11 additions and 0 deletions

View File

@ -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)
{