diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2006-01-02 04:21:05 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2006-01-02 04:21:05 (GMT) |
commit | d0329919dacdbbfd518340340c0918b0a95e15a5 (patch) | |
tree | bbf4091d46d3e847fb76a0432d612d089e637920 /Source/CPack/cmCPackGenerators.h | |
parent | 74680f1bf427bde968a2836baf1932760b7591cb (diff) | |
download | CMake-d0329919dacdbbfd518340340c0918b0a95e15a5.zip CMake-d0329919dacdbbfd518340340c0918b0a95e15a5.tar.gz CMake-d0329919dacdbbfd518340340c0918b0a95e15a5.tar.bz2 |
ENH: Merge from the cpack branch
Diffstat (limited to 'Source/CPack/cmCPackGenerators.h')
-rw-r--r-- | Source/CPack/cmCPackGenerators.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackGenerators.h b/Source/CPack/cmCPackGenerators.h new file mode 100644 index 0000000..4f459d5 --- /dev/null +++ b/Source/CPack/cmCPackGenerators.h @@ -0,0 +1,56 @@ +/*========================================================================= + + Program: CMake - Cross-Platform Makefile Generator + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc. All rights reserved. + See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + +#ifndef cmCPackGenerators_h +#define cmCPackGenerators_h + +#include "cmObject.h" + +class cmCPackGenericGenerator; + +/** \class cmCPackGenerators + * \brief A container for CPack generators + * + */ +class cmCPackGenerators : public cmObject +{ +public: + cmTypeMacro(cmCPackGenerators, cmObject); + + cmCPackGenerators(); + ~cmCPackGenerators(); + + //! Get the generator + cmCPackGenericGenerator* NewGenerator(const char* name); + void DeleteGenerator(cmCPackGenericGenerator* gen); + + typedef cmCPackGenericGenerator* CreateGeneratorCall(); + + void RegisterGenerator(const char* name, CreateGeneratorCall* createGenerator); + +private: + cmCPackGenericGenerator* NewGeneratorInternal(const char* name); + std::vector<cmCPackGenericGenerator*> m_Generators; + + typedef std::map<cmStdString, CreateGeneratorCall*> t_GeneratorCreatorsMap; + t_GeneratorCreatorsMap m_GeneratorCreators; +}; + +#endif + + + |