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
|
// Only consider replacing the destination file if no error
|
||||||
// occurred.
|
// occurred.
|
||||||
if(m_Okay &&
|
if(!m_Name.empty() &&
|
||||||
|
m_Okay &&
|
||||||
(!m_CopyIfDifferent ||
|
(!m_CopyIfDifferent ||
|
||||||
cmSystemTools::FilesDiffer(m_TempName.c_str(), resname.c_str())))
|
cmSystemTools::FilesDiffer(m_TempName.c_str(), resname.c_str())))
|
||||||
{
|
{
|
||||||
|
@ -277,3 +278,14 @@ int cmGeneratedFileStreamBase::RenameFile(const char* oldname,
|
||||||
return rename(oldname, newname) == 0;
|
return rename(oldname, newname) == 0;
|
||||||
#endif
|
#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.
|
* Set whether compression is done.
|
||||||
*/
|
*/
|
||||||
void SetCompression(bool compression);
|
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__)
|
#if defined(__sgi) && !defined(__GNUC__)
|
||||||
|
|
Loading…
Reference in New Issue