ENH: Allow changing of file name
This commit is contained in:
parent
dd9e2b904c
commit
efcb43a88f
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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__)
|
||||
|
|
Loading…
Reference in New Issue