summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackGenerator.h
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2008-06-17 15:39:26 (GMT)
committerDavid Cole <david.cole@kitware.com>2008-06-17 15:39:26 (GMT)
commit1105a86c520d34a59b482b86b6f288c11ff45b81 (patch)
tree6814d23047d44fe8c2c3d18e40b98143aca186c4 /Source/CPack/cmCPackGenerator.h
parent64498a1287e13e9f7ad3488c1050318030b18f8d (diff)
downloadCMake-1105a86c520d34a59b482b86b6f288c11ff45b81.zip
CMake-1105a86c520d34a59b482b86b6f288c11ff45b81.tar.gz
CMake-1105a86c520d34a59b482b86b6f288c11ff45b81.tar.bz2
ENH: Add patch for feature request #6847 - CPack components for NSIS and PackageMaker installers. Thanks to Doug Gregor for all the hard work involved with implementing this patch! Also added new test CPackComponents that is conditionally executed only when NSIS or PackageMaker installer builders are available.
Diffstat (limited to 'Source/CPack/cmCPackGenerator.h')
-rw-r--r--Source/CPack/cmCPackGenerator.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackGenerator.h b/Source/CPack/cmCPackGenerator.h
index da819d6..ad61d65 100644
--- a/Source/CPack/cmCPackGenerator.h
+++ b/Source/CPack/cmCPackGenerator.h
@@ -19,6 +19,8 @@
#define cmCPackGenerator_h
#include "cmObject.h"
+#include <map>
+#include <vector>
#define cmCPackTypeMacro(class, superclass) \
cmTypeMacro(class, superclass); \
@@ -44,6 +46,9 @@
class cmMakefile;
class cmCPackLog;
+class cmCPackInstallationType;
+class cmCPackComponent;
+class cmCPackComponentGroup;
/** \class cmCPackGenerator
* \brief A superclass of all CPack Generators
@@ -120,6 +125,11 @@ protected:
virtual int InstallProjectViaInstallCMakeProjects(
bool setDestDir, const char* tempInstallDirectory);
+ virtual bool SupportsComponentInstallation() const;
+ virtual cmCPackInstallationType* GetInstallationType(const char *projectName, const char* name);
+ virtual cmCPackComponent* GetComponent(const char *projectName, const char* name);
+ virtual cmCPackComponentGroup* GetComponentGroup(const char *projectName, const char* name);
+
bool GeneratorVerbose;
std::string Name;
@@ -129,6 +139,10 @@ protected:
std::string CMakeSelf;
std::string CMakeRoot;
+ std::map<std::string, cmCPackInstallationType> InstallationTypes;
+ std::map<std::string, cmCPackComponent> Components;
+ std::map<std::string, cmCPackComponentGroup> ComponentGroups;
+
cmCPackLog* Logger;
private:
cmMakefile* MakefileMap;