diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-07-25 14:57:33 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-07-25 14:57:33 (GMT) |
commit | a39aff52a033943242296bacc193741b0101377d (patch) | |
tree | 1ed04854e79820eafa28c5a727f6478c46586d12 /Source/CPack | |
parent | f4ac0f8373aeb96aae4cd24359586bf1a18c7f7b (diff) | |
download | CMake-a39aff52a033943242296bacc193741b0101377d.zip CMake-a39aff52a033943242296bacc193741b0101377d.tar.gz CMake-a39aff52a033943242296bacc193741b0101377d.tar.bz2 |
ENH: add an empty debian package generator, Mathieu volunteered to fill it
:-)
Alex
Diffstat (limited to 'Source/CPack')
-rw-r--r-- | Source/CPack/cmCPackDebGenerator.cxx | 58 | ||||
-rw-r--r-- | Source/CPack/cmCPackDebGenerator.h | 48 | ||||
-rw-r--r-- | Source/CPack/cmCPackGenerators.cxx | 14 |
3 files changed, 120 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx new file mode 100644 index 0000000..fdc0514 --- /dev/null +++ b/Source/CPack/cmCPackDebGenerator.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 "cmCPackDebGenerator.h" + +#include "cmSystemTools.h" +#include "cmMakefile.h" +#include "cmGeneratedFileStream.h" +#include "cmCPackLog.h" + +#include <cmsys/SystemTools.hxx> +#include <cmsys/Glob.hxx> + +//---------------------------------------------------------------------- +cmCPackDebGenerator::cmCPackDebGenerator() +{ +} + +//---------------------------------------------------------------------- +cmCPackDebGenerator::~cmCPackDebGenerator() +{ +} + +//---------------------------------------------------------------------- +int cmCPackDebGenerator::CompressFiles(const char* outFileName, + const char* toplevel, + const std::vector<std::string>& files) +{ + const char* arExecutable = this->GetOption("AR_EXECUTABLE"); + const char* cmakeExecutable = this->GetOption("CMAKE_COMMAND"); + return 1; +} + +//---------------------------------------------------------------------- +int cmCPackDebGenerator::InitializeInternal() +{ + this->ReadListFile("CPackDeb.cmake"); + if (!this->IsSet("AR_EXECUTABLE")) + { + cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find ar" << std::endl); + return 0; + } + return this->Superclass::InitializeInternal(); +} + diff --git a/Source/CPack/cmCPackDebGenerator.h b/Source/CPack/cmCPackDebGenerator.h new file mode 100644 index 0000000..edf3402 --- /dev/null +++ b/Source/CPack/cmCPackDebGenerator.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 cmCPackDebGenerator_h +#define cmCPackDebGenerator_h + + +#include "cmCPackGenericGenerator.h" + +/** \class cmCPackDebGenerator + * \brief A generator for Debian packages + * + */ +class cmCPackDebGenerator : public cmCPackGenericGenerator +{ +public: + cmCPackTypeMacro(cmCPackDebGenerator, cmCPackGenericGenerator); + + /** + * Construct generator + */ + cmCPackDebGenerator(); + virtual ~cmCPackDebGenerator(); + +protected: + virtual int InitializeInternal(); + int CompressFiles(const char* outFileName, const char* toplevel, + const std::vector<std::string>& files); + virtual const char* GetOutputExtension() { return ".deb"; } + virtual const char* GetInstallPrefix() { return "/usr"; } + +}; + +#endif diff --git a/Source/CPack/cmCPackGenerators.cxx b/Source/CPack/cmCPackGenerators.cxx index 629156a..bccee43 100644 --- a/Source/CPack/cmCPackGenerators.cxx +++ b/Source/CPack/cmCPackGenerators.cxx @@ -34,6 +34,12 @@ # include "cmCPackCygwinSourceGenerator.h" #endif +#if !defined(_WIN32) && !defined(__APPLE__) \ + && !defined(__QNXNTO__) && !defined(__BEOS__) +# include "cmCPackDebGenerator.h" +#endif + + #include "cmCPackLog.h" //---------------------------------------------------------------------- @@ -64,6 +70,10 @@ cmCPackGenerators::cmCPackGenerators() this->RegisterGenerator("OSXX11", "Mac OSX X11 bundle", cmCPackOSXX11Generator::CreateGenerator); #endif +#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__QNXNTO__) && !defined(__BEOS__) + this->RegisterGenerator("DEB", "Debian packages", + cmCPackDebGenerator::CreateGenerator); +#endif } //---------------------------------------------------------------------- @@ -80,6 +90,7 @@ cmCPackGenerators::~cmCPackGenerators() cmCPackGenericGenerator* cmCPackGenerators::NewGenerator(const char* name) { cmCPackGenericGenerator* gen = this->NewGeneratorInternal(name); + fprintf(stderr, "********* NewGen %s\n", name); if ( !gen ) { return 0; @@ -95,12 +106,15 @@ cmCPackGenericGenerator* cmCPackGenerators::NewGeneratorInternal( { if ( !name ) { + fprintf(stderr, "*** 1 name==0\n"); return 0; } + fprintf(stderr, "*** 2 name==%s\n", name); cmCPackGenerators::t_GeneratorCreatorsMap::iterator it = this->GeneratorCreators.find(name); if ( it == this->GeneratorCreators.end() ) { + fprintf(stderr, "*** 2 name==%s not found\n", name); return 0; } return (it->second)(); |