|
|
@@ -351,6 +351,9 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
|
|
|
{
|
|
|
if(!cmSystemTools::FileExists(sourcePath.c_str()))
|
|
|
{
|
|
|
+ // Make sure the path exists for the file
|
|
|
+ std::string path = cmSystemTools::GetFilenamePath(sourcePath);
|
|
|
+ cmSystemTools::MakeDirectory(path.c_str());
|
|
|
std::ofstream fout(sourcePath.c_str());
|
|
|
if(fout)
|
|
|
{
|
|
|
@@ -358,6 +361,14 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
|
|
|
fout.flush();
|
|
|
fout.close();
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ std::string error = "Could not create file: [";
|
|
|
+ error += sourcePath;
|
|
|
+ error += "] ";
|
|
|
+ cmSystemTools::Error
|
|
|
+ (error.c_str(), cmSystemTools::GetLastSystemError().c_str());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
cmLocalVisualStudio7Generator* lg = this->LocalGenerator;
|