diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2006-03-22 19:40:36 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2006-03-22 19:40:36 (GMT) |
commit | ee1975570e60e472e467733a840c30c583fb95cc (patch) | |
tree | 1f066070f5314a7f4cc9d1e7977d1b464ad4b999 /Source/cmMakeDirectoryCommand.cxx | |
parent | 10efe3b079caf5237e01d31b09f7947c77c7458f (diff) | |
download | CMake-ee1975570e60e472e467733a840c30c583fb95cc.zip CMake-ee1975570e60e472e467733a840c30c583fb95cc.tar.gz CMake-ee1975570e60e472e467733a840c30c583fb95cc.tar.bz2 |
ENH: Allow blocking of writing into the source tree
Diffstat (limited to 'Source/cmMakeDirectoryCommand.cxx')
-rw-r--r-- | Source/cmMakeDirectoryCommand.cxx | 8 |
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; } |