diff options
author | Brad King <brad.king@kitware.com> | 2014-07-28 14:35:49 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-07-28 14:35:49 (GMT) |
commit | 68f4a0ee306e5b5aec1252d0e7ed2af93273ee9f (patch) | |
tree | bb4df1f2b6a221f5123727e8b14b9413a71d4eaf /Source/CPack/cmCPackIFWGenerator.h | |
parent | 95c47f6d379764c818bd0693b1928d3339401a52 (diff) | |
parent | b9be4d21779ba7b301f12a7a5c358000e1424cee (diff) | |
download | CMake-68f4a0ee306e5b5aec1252d0e7ed2af93273ee9f.zip CMake-68f4a0ee306e5b5aec1252d0e7ed2af93273ee9f.tar.gz CMake-68f4a0ee306e5b5aec1252d0e7ed2af93273ee9f.tar.bz2 |
Merge topic 'cpack-ifw-generator'
b9be4d21 Help: Add notes for topic 'cpack-ifw-generator'
73b336c9 CPackIFW: Replace use of strftime with cmTimestamp
44850a26 CPack: Add an "IFW" generator for Qt Framework Installer
Diffstat (limited to 'Source/CPack/cmCPackIFWGenerator.h')
-rw-r--r-- | Source/CPack/cmCPackIFWGenerator.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackIFWGenerator.h b/Source/CPack/cmCPackIFWGenerator.h new file mode 100644 index 0000000..d70e52d --- /dev/null +++ b/Source/CPack/cmCPackIFWGenerator.h @@ -0,0 +1,82 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2009 Kitware, Inc. + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ + +#ifndef cmCPackIFWGenerator_h +#define cmCPackIFWGenerator_h + + +#include "cmCPackGenerator.h" +#include <set> + +/** \class cmCPackIFWGenerator + * \brief A generator for Qt Installer Framework tools + * + * http://qt-project.org/doc/qtinstallerframework/index.html + */ +class cmCPackIFWGenerator : public cmCPackGenerator +{ +public: + cmCPackTypeMacro(cmCPackIFWGenerator, cmCPackGenerator); + + /** + * Construct generator + */ + cmCPackIFWGenerator(); + virtual ~cmCPackIFWGenerator(); + +protected: + virtual int InitializeInternal(); + virtual int PackageFiles(); + virtual const char* GetPackagingInstallPrefix(); + + virtual const char* GetOutputExtension(); + + std::string IfwGetGroupId(cmCPackComponentGroup *group); + std::string IfwGetComponentId(cmCPackComponent *component); + + std::string IfwGetGroupName(cmCPackComponentGroup *group); + + std::string IfwGetComponentName(cmCPackComponent *component); + std::string IfwGetComponentName(const std::string &componentName); + + virtual std::string GetComponentInstallDirNamePrefix( + const std::string& componentName); + + virtual std::string GetComponentInstallDirNameSuffix( + const std::string& componentName); + + bool GetListOfSubdirectories(const char* dir, + std::vector<std::string>& dirs); + + enum cmCPackGenerator::CPackSetDestdirSupport SupportsSetDestdir() const; + virtual bool SupportsAbsoluteDestination() const; + virtual bool SupportsComponentInstallation() const; + +private: + int IfwCreateConfigFile(); + int IfwCreatePackageFile(); + std::string IfwCreateCurrentDate(); + bool IfwParseLicenses(std::vector<std::string> &licenses, + const std::string &variable, + const std::string &metaDir); + + std::string ifwRepoGen; + std::string ifwBinCreator; + + std::string ifwDownloadSite; + + bool ifwOnlineOnly; + bool ifwResolveDuplicateNames; + std::vector<std::string> ifwPkgsDirsVector; +}; + +#endif |