diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2005-05-10 15:11:28 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2005-05-10 15:11:28 (GMT) |
commit | efcb43a88fc6f9dafbfdb8d98ed899edbf7ad8c6 (patch) | |
tree | f154a9a1e61fa99dd0890aa4e3fea850298709da /Source | |
parent | dd9e2b904c33787c193bc07d7f811552dfaa72b2 (diff) | |
download | CMake-efcb43a88fc6f9dafbfdb8d98ed899edbf7ad8c6.zip CMake-efcb43a88fc6f9dafbfdb8d98ed899edbf7ad8c6.tar.gz CMake-efcb43a88fc6f9dafbfdb8d98ed899edbf7ad8c6.tar.bz2 |
ENH: Allow changing of file name
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGeneratedFileStream.cxx | 14 | ||||
-rw-r--r-- | Source/cmGeneratedFileStream.h | 6 |
2 files changed, 19 insertions, 1 deletions
diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx index d70bc5c..d0f2cc0 100644 --- a/Source/cmGeneratedFileStream.cxx +++ b/Source/cmGeneratedFileStream.cxx @@ -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; +} diff --git a/Source/cmGeneratedFileStream.h b/Source/cmGeneratedFileStream.h index 6706164..cb81d1d 100644 --- a/Source/cmGeneratedFileStream.h +++ b/Source/cmGeneratedFileStream.h @@ -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__) |