| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- /*============================================================================
 
-   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 cmCPackRPMGenerator_h
 
- #define cmCPackRPMGenerator_h
 
- #include "cmCPackGenerator.h"
 
- /** \class cmCPackRPMGenerator
 
-  * \brief A generator for RPM packages
 
-  * The idea of the CPack RPM generator is to use
 
-  * as minimal C++ code as possible.
 
-  * Ideally the C++ part of the CPack RPM generator
 
-  * will only 'execute' (aka ->ReadListFile) several
 
-  * CMake macros files.
 
-  */
 
- class cmCPackRPMGenerator : public cmCPackGenerator
 
- {
 
- public:
 
-   cmCPackTypeMacro(cmCPackRPMGenerator, cmCPackGenerator);
 
-   /**
 
-    * Construct generator
 
-    */
 
-   cmCPackRPMGenerator();
 
-   virtual ~cmCPackRPMGenerator();
 
-   static bool CanGenerate()
 
-     {
 
- #ifdef __APPLE__
 
-     // on MacOS enable CPackRPM iff rpmbuild is found
 
-     std::vector<std::string> locations;
 
-     locations.push_back("/sw/bin");        // Fink
 
-     locations.push_back("/opt/local/bin"); // MacPorts
 
-     return cmSystemTools::FindProgram("rpmbuild") != "" ? true : false;
 
- #else
 
-     // legacy behavior on other systems
 
-     return true;
 
- #endif
 
-     }
 
- protected:
 
-   virtual int InitializeInternal();
 
-   virtual int PackageFiles();
 
-   /**
 
-    * This method factors out the work done in component packaging case.
 
-    */
 
-   int PackageOnePack(std::string initialToplevel, std::string packageName);
 
-   /**
 
-    * The method used to package files when component
 
-    * install is used. This will create one
 
-    * archive for each component group.
 
-    */
 
-   int PackageComponents(bool ignoreGroup);
 
-   /**
 
-    * Special case of component install where all
 
-    * components will be put in a single installer.
 
-    */
 
-   int PackageComponentsAllInOne();
 
-   virtual const char* GetOutputExtension() { return ".rpm"; }
 
-   virtual bool SupportsComponentInstallation() const;
 
-   virtual std::string GetComponentInstallDirNameSuffix(
 
-       const std::string& componentName);
 
- };
 
- #endif
 
 
  |