Add flag to WRITE_FILE to append

This commit is contained in:
Andy Cedilnik 2002-10-29 13:32:37 -05:00
parent 74eeb49d4c
commit 91bd207812
2 changed files with 14 additions and 4 deletions

View File

@ -30,14 +30,22 @@ bool cmWriteFileCommand::InitialPass(std::vector<std::string> const& argsIn)
std::vector<std::string>::const_iterator i = args.begin();
std::string fileName = *i;
bool overwrite = true;
i++;
for(;i != args.end(); ++i)
{
message += *i;
if ( *i == "APPEND" )
{
overwrite = false;
}
else
{
message += *i;
}
}
std::ofstream file(fileName.c_str(), std::ios::app);
std::ofstream file(fileName.c_str(), overwrite?std::ios::out : std::ios::app);
if ( !file )
{
cmSystemTools::Error("Internal CMake error when trying to open file: ",

View File

@ -60,8 +60,10 @@ public:
virtual const char* GetFullDocumentation()
{
return
"WRITE_FILE(filename \"message to write\"...)\n"
"The first argument is the file name, the rest of the arguments are messages to write.";
"WRITE_FILE(filename \"message to write\"... [APPEND])\n"
"The first argument is the file name, the rest of the arguments are "
"messages to write. If the argument APPEND is specified, then "
"the message will be appended.";
}
cmTypeMacro(cmWriteFileCommand, cmCommand);