summaryrefslogtreecommitdiffstats
path: root/Source/cmMakeDirectoryCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmMakeDirectoryCommand.cxx')
-rw-r--r--Source/cmMakeDirectoryCommand.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmMakeDirectoryCommand.cxx b/Source/cmMakeDirectoryCommand.cxx
index b1a2821..3696296 100644
--- a/Source/cmMakeDirectoryCommand.cxx
+++ b/Source/cmMakeDirectoryCommand.cxx
@@ -24,6 +24,14 @@ bool cmMakeDirectoryCommand::InitialPass(std::vector<std::string> const& args)
this->SetError("called with incorrect number of arguments");
return false;
}
+ if ( !this->Makefile->CanIWriteThisFile(args[0].c_str()) )
+ {
+ std::string e = "attempted to create a directory: " + args[0]
+ + " into a source directory.";
+ this->SetError(e.c_str());
+ cmSystemTools::SetFatalErrorOccured();
+ return false;
+ }
cmSystemTools::MakeDirectory(args[0].c_str());
return true;
}