diff options
author | Konstantin Podsvirov <konstantin@podsvirov.pro> | 2017-04-27 20:51:00 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-05-03 15:32:05 (GMT) |
commit | 9c13e8eb6fcc249afaf905d67e24b63884c4aa2f (patch) | |
tree | d120100d80cfaee00c0e369c00dddb1bee27c9c7 /Source/CPack/IFW/cmCPackIFWCommon.h | |
parent | 96820279541017402c1fe0852444aac68179ddb7 (diff) | |
download | CMake-9c13e8eb6fcc249afaf905d67e24b63884c4aa2f.zip CMake-9c13e8eb6fcc249afaf905d67e24b63884c4aa2f.tar.gz CMake-9c13e8eb6fcc249afaf905d67e24b63884c4aa2f.tar.bz2 |
CPackIFW: Refactor out some commonly used code
Move common used code to new cmCPackIFWCommon base class.
Diffstat (limited to 'Source/CPack/IFW/cmCPackIFWCommon.h')
-rw-r--r-- | Source/CPack/IFW/cmCPackIFWCommon.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Source/CPack/IFW/cmCPackIFWCommon.h b/Source/CPack/IFW/cmCPackIFWCommon.h new file mode 100644 index 0000000..66b6e89 --- /dev/null +++ b/Source/CPack/IFW/cmCPackIFWCommon.h @@ -0,0 +1,65 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmCPackIFWCommon_h +#define cmCPackIFWCommon_h + +#include "cmConfigure.h" // IWYU pragma: keep + +#include <string> + +class cmCPackIFWGenerator; +class cmXMLWriter; + +/** \class cmCPackIFWCommon + * \brief A base class for CPack IFW generator implementation subclasses + */ +class cmCPackIFWCommon +{ +public: + // Constructor + + /** + * Construct Part + */ + cmCPackIFWCommon(); + +public: + // Internal implementation + + const char* GetOption(const std::string& op) const; + bool IsOn(const std::string& op) const; + bool IsSetToOff(const std::string& op) const; + bool IsSetToEmpty(const std::string& op) const; + + /** + * Compare \a version with QtIFW framework version + */ + bool IsVersionLess(const char* version); + + /** + * Compare \a version with QtIFW framework version + */ + bool IsVersionGreater(const char* version); + + /** + * Compare \a version with QtIFW framework version + */ + bool IsVersionEqual(const char* version); + + cmCPackIFWGenerator* Generator; + +protected: + void WriteGeneratedByToStrim(cmXMLWriter& xout); +}; + +#define cmCPackIFWLogger(logType, msg) \ + do { \ + std::ostringstream cmCPackLog_msg; \ + cmCPackLog_msg << msg; \ + if (Generator) { \ + Generator->Logger->Log(cmCPackLog::LOG_##logType, __FILE__, __LINE__, \ + cmCPackLog_msg.str().c_str()); \ + } \ + } while (false) + +#endif // cmCPackIFWCommon_h |