diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-08-08 15:33:42 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-08-08 15:33:42 (GMT) |
commit | 7432ef206e47118d8812be5dc62c7250c9e0bfdd (patch) | |
tree | d103f0a5fa3a97c614d1876b494e0515507a3b8b /Source/CPack | |
parent | b34078bca98a052907bb1198e2301d1223b3aae0 (diff) | |
download | CMake-7432ef206e47118d8812be5dc62c7250c9e0bfdd.zip CMake-7432ef206e47118d8812be5dc62c7250c9e0bfdd.tar.gz CMake-7432ef206e47118d8812be5dc62c7250c9e0bfdd.tar.bz2 |
ENH: add empty RPM package generator, Eric Noulard wants to work on it
Alex
Diffstat (limited to 'Source/CPack')
-rw-r--r-- | Source/CPack/cmCPackGenerators.cxx | 3 | ||||
-rw-r--r-- | Source/CPack/cmCPackRPMGenerator.cxx | 58 | ||||
-rw-r--r-- | Source/CPack/cmCPackRPMGenerator.h | 48 |
3 files changed, 109 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackGenerators.cxx b/Source/CPack/cmCPackGenerators.cxx index 5951457..9baa2aa 100644 --- a/Source/CPack/cmCPackGenerators.cxx +++ b/Source/CPack/cmCPackGenerators.cxx @@ -37,6 +37,7 @@ #if !defined(_WIN32) && !defined(__APPLE__) \ && !defined(__QNXNTO__) && !defined(__BEOS__) # include "cmCPackDebGenerator.h" +# include "cmCPackRPMGenerator.h" #endif @@ -74,6 +75,8 @@ cmCPackGenerators::cmCPackGenerators() && !defined(__QNXNTO__) && !defined(__BEOS__) this->RegisterGenerator("DEB", "Debian packages", cmCPackDebGenerator::CreateGenerator); + this->RegisterGenerator("RPM", "RPM packages", + cmCPackDebGenerator::CreateGenerator); #endif } diff --git a/Source/CPack/cmCPackRPMGenerator.cxx b/Source/CPack/cmCPackRPMGenerator.cxx new file mode 100644 index 0000000..59ef94f --- /dev/null +++ b/Source/CPack/cmCPackRPMGenerator.cxx @@ -0,0 +1,58 @@ +/*========================================================================= + + Program: CMake - Cross-Platform Makefile Generator + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc., Insight Consortium. 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. + +=========================================================================*/ +#include "cmCPackRPMGenerator.h" + +#include "cmSystemTools.h" +#include "cmMakefile.h" +#include "cmGeneratedFileStream.h" +#include "cmCPackLog.h" + +#include <cmsys/SystemTools.hxx> +#include <cmsys/Glob.hxx> + +//---------------------------------------------------------------------- +cmCPackRPMGenerator::cmCPackRPMGenerator() +{ +} + +//---------------------------------------------------------------------- +cmCPackRPMGenerator::~cmCPackRPMGenerator() +{ +} + +//---------------------------------------------------------------------- +int cmCPackRPMGenerator::CompressFiles(const char* outFileName, + const char* toplevel, + const std::vector<std::string>& files) +{ + this->ReadListFile("CPackRPM.cmake"); + if (!this->IsSet("RPMBUILD_EXECUTABLE")) + { + cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find rpmbuild" << std::endl); + return 0; + } + const char* rpmbuildExecutable = this->GetOption("RPMBUILD_EXECUTABLE"); + + return 1; +} + +//---------------------------------------------------------------------- +int cmCPackRPMGenerator::InitializeInternal() +{ + return this->Superclass::InitializeInternal(); +} + diff --git a/Source/CPack/cmCPackRPMGenerator.h b/Source/CPack/cmCPackRPMGenerator.h new file mode 100644 index 0000000..17c93f4 --- /dev/null +++ b/Source/CPack/cmCPackRPMGenerator.h @@ -0,0 +1,48 @@ +/*========================================================================= + + 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 cmCPackRPMGenerator_h +#define cmCPackRPMGenerator_h + + +#include "cmCPackGenericGenerator.h" + +/** \class cmCPackRPMGenerator + * \brief A generator for RPM packages + * + */ +class cmCPackRPMGenerator : public cmCPackGenericGenerator +{ +public: + cmCPackTypeMacro(cmCPackRPMGenerator, cmCPackGenericGenerator); + + /** + * Construct generator + */ + cmCPackRPMGenerator(); + virtual ~cmCPackRPMGenerator(); + +protected: + virtual int InitializeInternal(); + int CompressFiles(const char* outFileName, const char* toplevel, + const std::vector<std::string>& files); + virtual const char* GetOutputExtension() { return ".rpm"; } + virtual const char* GetInstallPrefix() { return "/usr"; } + +}; + +#endif |