Commit c693a23a authored by Bill Hoffman's avatar Bill Hoffman
Browse files

ENH: use gnu tar for cygwin

parent bc2accc6
......@@ -228,11 +228,18 @@ int cmCPackTGZGenerator::CompressFiles(const char* outFileName,
std::auto_ptr<char> realNamePtr(realName);
strcpy(realName, outFileName);
int flags = O_WRONLY | O_CREAT;
int options = 0;
if(this->GeneratorVerbose)
{
options |= TAR_VERBOSE;
}
#ifdef __CYGWIN__
options |= TAR_GNU;
#endif
if (tar_open(&t, realName,
&gztype,
flags, 0644,
(this->GeneratorVerbose?TAR_VERBOSE:0)
| 0) == -1)
&gztype,
flags, 0644,
options) == -1)
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem with tar_open(): "
<< strerror(errno) << std::endl);
......
......@@ -174,12 +174,19 @@ int cmCPackTarCompressGenerator::CompressFiles(const char* outFileName,
char* realName = new char[ strlen(outFileName) + 1 ];
std::auto_ptr<char> realNamePtr(realName);
strcpy(realName, outFileName);
int flags = O_WRONLY | O_CREAT;
int flags = O_WRONLY | O_CREAT;
int options = 0;
if(this->GeneratorVerbose)
{
options |= TAR_VERBOSE;
}
#ifdef __CYGWIN__
options |= TAR_GNU;
#endif
if (tar_open(&t, realName,
&compressType,
flags, 0644,
(this->GeneratorVerbose?TAR_VERBOSE:0)
| 0) == -1)
options) == -1)
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem with tar_open(): "
<< strerror(errno) << std::endl);
......
......@@ -1685,11 +1685,18 @@ bool cmSystemTools::CreateTar(const char* outFileName,
char* realName = new char[ strlen(outFileName) + 1 ];
std::auto_ptr<char> realNamePtr(realName);
strcpy(realName, outFileName);
int options = 0;
if(verbose)
{
options |= TAR_VERBOSE;
}
#ifdef __CYGWIN__
options |= TAR_GNU;
#endif
if (tar_open(&t, realName,
(gzip? &gztype : NULL),
O_WRONLY | O_CREAT, 0644,
(verbose?TAR_VERBOSE:0)
| 0) == -1)
options) == -1)
{
cmSystemTools::Error("Problem with tar_open(): ", strerror(errno));
return false;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment