[cmake-commits] alex committed cmCPackDebGenerator.cxx NONE 1.1 cmCPackDebGenerator.h NONE 1.1 cmCPackGenerators.cxx 1.15 1.16

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Jul 25 10:57:35 EDT 2007


Update of /cvsroot/CMake/CMake/Source/CPack
In directory public:/mounts/ram/cvs-serv9391/Source/CPack

Modified Files:
	cmCPackGenerators.cxx 
Added Files:
	cmCPackDebGenerator.cxx cmCPackDebGenerator.h 
Log Message:

ENH: add an empty debian package generator, Mathieu volunteered to fill it
:-)

Alex


Index: cmCPackGenerators.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackGenerators.cxx,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- cmCPackGenerators.cxx	18 Jun 2007 13:00:32 -0000	1.15
+++ cmCPackGenerators.cxx	25 Jul 2007 14:57:33 -0000	1.16
@@ -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 @@
   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 @@
 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 @@
 {
   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)();

--- NEW FILE: cmCPackDebGenerator.cxx ---
/*=========================================================================

  Program:   CMake - Cross-Platform Makefile Generator
  Module:    $RCSfile: cmCPackDebGenerator.cxx,v $
  Language:  C++
  Date:      $Date: 2007/07/25 14:57:33 $
  Version:   $Revision: 1.1 $

  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();
}


--- NEW FILE: cmCPackDebGenerator.h ---
/*=========================================================================

  Program:   CMake - Cross-Platform Makefile Generator
  Module:    $RCSfile: cmCPackDebGenerator.h,v $
  Language:  C++
  Date:      $Date: 2007/07/25 14:57:33 $
  Version:   $Revision: 1.1 $

  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



More information about the Cmake-commits mailing list