summaryrefslogtreecommitdiff
path: root/Source/cmExecuteProcessCommand.cxx
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2006-03-22 14:40:36 -0500
committerAndy Cedilnik <andy.cedilnik@kitware.com>2006-03-22 14:40:36 -0500
commitee1975570e60e472e467733a840c30c583fb95cc (patch)
tree1f066070f5314a7f4cc9d1e7977d1b464ad4b999 /Source/cmExecuteProcessCommand.cxx
parent10efe3b079caf5237e01d31b09f7947c77c7458f (diff)
downloadcmake-ee1975570e60e472e467733a840c30c583fb95cc.tar.gz
ENH: Allow blocking of writing into the source tree
Diffstat (limited to 'Source/cmExecuteProcessCommand.cxx')
-rw-r--r--Source/cmExecuteProcessCommand.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/cmExecuteProcessCommand.cxx b/Source/cmExecuteProcessCommand.cxx
index 2dfce3b0c1..1d9db30116 100644
--- a/Source/cmExecuteProcessCommand.cxx
+++ b/Source/cmExecuteProcessCommand.cxx
@@ -171,6 +171,15 @@ bool cmExecuteProcessCommand::InitialPass(std::vector<std::string> const& args)
}
}
+ if ( !this->Makefile->CanIWriteThisFile(output_file.c_str()) )
+ {
+ std::string e = "attempted to output into a file: " + output_file
+ + " into a source directory.";
+ this->SetError(e.c_str());
+ cmSystemTools::SetFatalErrorOccured();
+ return false;
+ }
+
// Check for commands given.
if(cmds.empty())
{