diff options
author | Eric NOULARD <eric.noulard@gmail.com> | 2010-08-24 19:42:21 (GMT) |
---|---|---|
committer | Eric NOULARD <eric.noulard@gmail.com> | 2010-08-24 19:42:21 (GMT) |
commit | 654683adc7ebd504b200332d2fbb387668b70cb2 (patch) | |
tree | a839ed9a1d4ae448154096e06b07c1dda762a0fa /Source/CPack/cmCPackArchiveGenerator.h | |
parent | 36a550ae7a6d903bae2eaf950a18131251ffce03 (diff) | |
download | CMake-654683adc7ebd504b200332d2fbb387668b70cb2.zip CMake-654683adc7ebd504b200332d2fbb387668b70cb2.tar.gz CMake-654683adc7ebd504b200332d2fbb387668b70cb2.tar.bz2 |
CPackArchiveGenerator add component supports
Diffstat (limited to 'Source/CPack/cmCPackArchiveGenerator.h')
-rw-r--r-- | Source/CPack/cmCPackArchiveGenerator.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/Source/CPack/cmCPackArchiveGenerator.h b/Source/CPack/cmCPackArchiveGenerator.h index 49ae112..ae545c8 100644 --- a/Source/CPack/cmCPackArchiveGenerator.h +++ b/Source/CPack/cmCPackArchiveGenerator.h @@ -24,7 +24,7 @@ * */ class cmCPackArchiveGenerator : public cmCPackGenerator -{ + { public: cmTypeMacro(cmCPackArchiveGenerator, cmCPackGenerator); @@ -35,13 +35,39 @@ public: virtual ~cmCPackArchiveGenerator(); // Used to add a header to the archive virtual int GenerateHeader(std::ostream* os); - + // component support + virtual bool SupportsComponentInstallation() const; protected: virtual int InitializeInternal(); + /** + * Add the files belonging to the specified component + * to the provided (already opened) archive. + * @param[in,out] archive the archive object + * @param[in] component the component whose file will be added to archive + */ + int addOneComponentToArchive(cmArchiveWrite& archive, cmCPackComponent* component); + + /** + * The main package file method. + * If component install was required this + * method will call either PackageComponents or + * PackageComponentsAllInOne. + */ int PackageFiles(); + /** + * The method used to package files when component + * install is used. This will create one + * archive for each component group. + */ + int PackageComponents(bool ignoreComponentGroup); + /** + * Special case of component install where all + * components will be put in a single installer. + */ + int PackageComponentsAllInOne(bool allComponentInOne); virtual const char* GetOutputExtension() = 0; cmArchiveWrite::Compress Compress; cmArchiveWrite::Type Archive; -}; + }; #endif |