ENH: Allow changing of file name

This commit is contained in:
Andy Cedilnik 2005-05-10 11:11:28 -04:00
parent dd9e2b904c
commit efcb43a88f
2 changed files with 19 additions and 1 deletions

View File

@ -162,7 +162,8 @@ void cmGeneratedFileStreamBase::Close()
// Only consider replacing the destination file if no error
// occurred.
if(m_Okay &&
if(!m_Name.empty() &&
m_Okay &&
(!m_CopyIfDifferent ||
cmSystemTools::FilesDiffer(m_TempName.c_str(), resname.c_str())))
{
@ -277,3 +278,14 @@ int cmGeneratedFileStreamBase::RenameFile(const char* oldname,
return rename(oldname, newname) == 0;
#endif
}
//----------------------------------------------------------------------------
void cmGeneratedFileStream::SetName(const char* fname)
{
if ( !fname )
{
m_Name = "";
return;
}
m_Name = fname;
}

View File

@ -130,6 +130,12 @@ public:
* Set whether compression is done.
*/
void SetCompression(bool compression);
/**
* Set name of the file that will hold the actual output. This method allows
* the output file to be changed during the use of cmGeneratedFileStream.
*/
void SetName(const char* fname);
};
#if defined(__sgi) && !defined(__GNUC__)