diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx index d0f2cc0b4f0558e5abbdd8e6b76f5693ff4e3f5d..63a0384aaf683e5e82c9df5a2b28ad31d9efeb65 100644 --- a/Source/cmGeneratedFileStream.cxx +++ b/Source/cmGeneratedFileStream.cxx @@ -107,13 +107,20 @@ void cmGeneratedFileStream::SetCompression(bool compression) m_Compress = compression; } +//---------------------------------------------------------------------------- +void cmGeneratedFileStream::SetCompressionExtraExtension(bool ext) +{ + m_CompressExtraExtension = ext; +} + //---------------------------------------------------------------------------- cmGeneratedFileStreamBase::cmGeneratedFileStreamBase(): m_Name(), m_TempName(), m_CopyIfDifferent(false), m_Okay(false), - m_Compress(false) + m_Compress(false), + m_CompressExtraExtension(true) { } @@ -123,7 +130,8 @@ cmGeneratedFileStreamBase::cmGeneratedFileStreamBase(const char* name): m_TempName(), m_CopyIfDifferent(false), m_Okay(false), - m_Compress(false) + m_Compress(false), + m_CompressExtraExtension(true) { this->Open(name); } @@ -155,7 +163,7 @@ void cmGeneratedFileStreamBase::Open(const char* name) void cmGeneratedFileStreamBase::Close() { std::string resname = m_Name; - if ( m_Compress ) + if ( m_CompressExtraExtension ) { resname += ".gz"; } diff --git a/Source/cmGeneratedFileStream.h b/Source/cmGeneratedFileStream.h index cb81d1d145bdc1c3916818abf2a13a26c2b42ef2..6d0637c0b256135bba5d17d102d312e09d0623d5 100644 --- a/Source/cmGeneratedFileStream.h +++ b/Source/cmGeneratedFileStream.h @@ -66,6 +66,9 @@ protected: // Whether the destionation file is compressed bool m_Compress; + + // Whether the destionation file is compressed + bool m_CompressExtraExtension; }; /** \class cmGeneratedFileStream @@ -131,6 +134,11 @@ public: */ void SetCompression(bool compression); + /** + * Set whether compression has extra extension + */ + void SetCompressionExtraExtension(bool ext); + /** * 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.