[Cmake-commits] CMake branch, next, updated. v3.1.0-1627-gb5061d4

Ben Boeckel ben.boeckel at kitware.com
Fri Jan 9 12:06:00 EST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  b5061d40e11d93a449736ffa0b363a36bea97898 (commit)
       via  7cd1b9bf75fcac42b937e5aae4d3f5a6a61fcb4e (commit)
       via  312ac7257eacbe909f0544a8e9bce3f11f404a26 (commit)
       via  54df2294ed54b2b6746d94534ff6584371e9d082 (commit)
      from  5f3322884cc5903d3198f760191e2990c361330d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b5061d40e11d93a449736ffa0b363a36bea97898
commit b5061d40e11d93a449736ffa0b363a36bea97898
Merge: 5f33228 7cd1b9b
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Jan 9 12:05:59 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Jan 9 12:05:59 2015 -0500

    Merge topic 'add-xz-support' into next
    
    7cd1b9bf cmSystemTools: remove unused gzip argument
    312ac725 cmake -E tar: error out on multiple compression formats
    54df2294 cmSystemTools: use an enumeration for compression formats


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7cd1b9bf75fcac42b937e5aae4d3f5a6a61fcb4e
commit 7cd1b9bf75fcac42b937e5aae4d3f5a6a61fcb4e
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Jan 9 12:04:56 2015 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Jan 9 12:05:48 2015 -0500

    cmSystemTools: remove unused gzip argument

diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 036e859..0271665 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1800,7 +1800,7 @@ bool extract_tar(const char* outFileName, bool verbose,
 #endif
 
 bool cmSystemTools::ExtractTar(const char* outFileName,
-                               bool , bool verbose)
+                               bool verbose)
 {
 #if defined(CMAKE_BUILD_WITH_CMAKE)
   return extract_tar(outFileName, verbose, true);
@@ -1812,7 +1812,6 @@ bool cmSystemTools::ExtractTar(const char* outFileName,
 }
 
 bool cmSystemTools::ListTar(const char* outFileName,
-                            bool ,
                             bool verbose)
 {
 #if defined(CMAKE_BUILD_WITH_CMAKE)
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index ad269b1..09ceea6 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -391,11 +391,11 @@ public:
     TarCompressNone
   };
   static bool ListTar(const char* outFileName,
-                      bool gzip, bool verbose);
+                      bool verbose);
   static bool CreateTar(const char* outFileName,
                         const std::vector<std::string>& files,
                         cmTarCompression compressType, bool verbose);
-  static bool ExtractTar(const char* inFileName, bool gzip,
+  static bool ExtractTar(const char* inFileName,
                          bool verbose);
   // This should be called first thing in main
   // it will keep child processes from inheriting the
diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx
index b30c8a6..27dd08b 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -765,7 +765,7 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
 
       if ( flags.find_first_of('t') != flags.npos )
         {
-        if ( !cmSystemTools::ListTar(outFile.c_str(), gzip, verbose) )
+        if ( !cmSystemTools::ListTar(outFile.c_str(), verbose) )
           {
           cmSystemTools::Error("Problem creating tar: ", outFile.c_str());
           return 1;
@@ -783,7 +783,7 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
       else if ( flags.find_first_of('x') != flags.npos )
         {
         if ( !cmSystemTools::ExtractTar(
-            outFile.c_str(), gzip, verbose) )
+            outFile.c_str(), verbose) )
           {
           cmSystemTools::Error("Problem extracting tar: ", outFile.c_str());
           return 1;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=312ac7257eacbe909f0544a8e9bce3f11f404a26
commit 312ac7257eacbe909f0544a8e9bce3f11f404a26
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Jan 9 10:33:36 2015 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Jan 9 12:05:47 2015 -0500

    cmake -E tar: error out on multiple compression formats

diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx
index f7bb20e..b30c8a6 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -736,17 +736,27 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
       cmSystemTools::cmTarCompression compress =
         cmSystemTools::TarCompressNone;
       bool verbose = false;
+      int nCompress = 0;
       if ( flags.find_first_of('j') != flags.npos )
         {
         compress = cmSystemTools::TarCompressBZip2;
+        ++nCompress;
         }
       if ( flags.find_first_of('J') != flags.npos )
         {
         compress = cmSystemTools::TarCompressXZ;
+        ++nCompress;
         }
       if ( flags.find_first_of('z') != flags.npos )
         {
         compress = cmSystemTools::TarCompressGZip;
+        ++nCompress;
+        }
+      if ( nCompress > 1 )
+        {
+        cmSystemTools::Error("Can only compress a tar file one way; "
+                             "at most one flag of z, j, or J may be used");
+        return 1;
         }
       if ( flags.find_first_of('v') != flags.npos )
         {

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=54df2294ed54b2b6746d94534ff6584371e9d082
commit 54df2294ed54b2b6746d94534ff6584371e9d082
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Jan 9 10:33:00 2015 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Jan 9 12:05:39 2015 -0500

    cmSystemTools: use an enumeration for compression formats
    
    Juggling 3 booleans was unwieldy.

diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index f02d78e..e1391a7 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -1675,7 +1675,7 @@ std::string cmCTest::Base64GzipEncodeFile(std::string file)
   files.push_back(file);
 
   if(!cmSystemTools::CreateTar(tarFile.c_str(), files,
-                               true, false, false, false))
+                               cmSystemTools::TarCompressGZip, false))
     {
     cmCTestLog(this, ERROR_MESSAGE, "Error creating tar while "
       "encoding file: " << file << std::endl);
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index cd63347..036e859 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1482,7 +1482,7 @@ bool cmSystemTools::IsPathToFramework(const char* path)
 
 bool cmSystemTools::CreateTar(const char* outFileName,
                               const std::vector<std::string>& files,
-                              bool gzip, bool bzip2, bool xz,
+                              cmTarCompression compressType,
                               bool verbose)
 {
 #if defined(CMAKE_BUILD_WITH_CMAKE)
@@ -1497,11 +1497,24 @@ bool cmSystemTools::CreateTar(const char* outFileName,
     cmSystemTools::Error(e.c_str());
     return false;
     }
-  cmArchiveWrite a(fout, (gzip? cmArchiveWrite::CompressGZip :
-                          (bzip2? cmArchiveWrite::CompressBZip2 :
-                           (xz? cmArchiveWrite::CompressXZ :
-                           cmArchiveWrite::CompressNone))),
-                           cmArchiveWrite::TypeTAR);
+  cmArchiveWrite::Compress compress = cmArchiveWrite::CompressNone;
+  switch (compressType)
+    {
+    case TarCompressGZip:
+      compress = cmArchiveWrite::CompressGZip;
+      break;
+    case TarCompressBZip2:
+      compress = cmArchiveWrite::CompressBZip2;
+      break;
+    case TarCompressXZ:
+      compress = cmArchiveWrite::CompressXZ;
+      break;
+    case TarCompressNone:
+      compress = cmArchiveWrite::CompressNone;
+      break;
+    }
+  cmArchiveWrite a(fout, compress,
+                   cmArchiveWrite::TypeTAR);
   a.SetVerbose(verbose);
   for(std::vector<std::string>::const_iterator i = files.begin();
       i != files.end(); ++i)
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index 47d2771..ad269b1 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -383,11 +383,18 @@ public:
   static void EnableVSConsoleOutput();
 
   /** Create tar */
+  enum cmTarCompression
+  {
+    TarCompressGZip,
+    TarCompressBZip2,
+    TarCompressXZ,
+    TarCompressNone
+  };
   static bool ListTar(const char* outFileName,
                       bool gzip, bool verbose);
   static bool CreateTar(const char* outFileName,
-                        const std::vector<std::string>& files, bool gzip,
-                        bool bzip2, bool xz, bool verbose);
+                        const std::vector<std::string>& files,
+                        cmTarCompression compressType, bool verbose);
   static bool ExtractTar(const char* inFileName, bool gzip,
                          bool verbose);
   // This should be called first thing in main
diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx
index 6b3efb5..f7bb20e 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -733,21 +733,20 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
         {
         files.push_back(args[cc]);
         }
-      bool gzip = false;
-      bool bzip2 = false;
-      bool xz = false;
+      cmSystemTools::cmTarCompression compress =
+        cmSystemTools::TarCompressNone;
       bool verbose = false;
       if ( flags.find_first_of('j') != flags.npos )
         {
-        bzip2 = true;
+        compress = cmSystemTools::TarCompressBZip2;
         }
       if ( flags.find_first_of('J') != flags.npos )
         {
-        xz = true;
+        compress = cmSystemTools::TarCompressXZ;
         }
       if ( flags.find_first_of('z') != flags.npos )
         {
-        gzip = true;
+        compress = cmSystemTools::TarCompressGZip;
         }
       if ( flags.find_first_of('v') != flags.npos )
         {
@@ -765,7 +764,7 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string>& args)
       else if ( flags.find_first_of('c') != flags.npos )
         {
         if ( !cmSystemTools::CreateTar(
-               outFile.c_str(), files, gzip, bzip2, xz, verbose) )
+               outFile.c_str(), files, compress, verbose) )
           {
           cmSystemTools::Error("Problem creating tar: ", outFile.c_str());
           return 1;

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list