Browse Source

ENH: fix crash in cpack when CPACK_CYGWIN_PATCH_NUMBER not specified

pull/1/head
Bill Hoffman 18 years ago
parent
commit
042f4c334d
  1. 5
      CMakeCPackOptions.cmake.in
  2. 2
      Source/CPack/cmCPackCygwinBinaryGenerator.cxx
  3. 18
      Source/CPack/cmCPackCygwinSourceGenerator.cxx
  4. 10
      Source/CPack/cmCPackGenerator.cxx

5
CMakeCPackOptions.cmake.in

@ -32,8 +32,9 @@ if(CPACK_GENERATOR MATCHES "NSIS")
SET(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@)
SET(CPACK_NSIS_MODIFY_PATH ON)
endif(CPACK_GENERATOR MATCHES "NSIS")
# include the cpack options
INCLUDE("@QT_DIALOG_CPACK_OPTIONS_FILE@")
# include the cpack options for qt dialog if they exisit
# they might not if qt was not enabled for the build
INCLUDE("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
if(CPACK_GENERATOR MATCHES "CygwinSource")
# when packaging source make sure the .build directory is not included

2
Source/CPack/cmCPackCygwinBinaryGenerator.cxx

@ -106,7 +106,7 @@ const char* cmCPackCygwinBinaryGenerator::GetOutputExtension()
"CPACK_CYGWIN_PATCH_NUMBER not specified using 1"
<< std::endl);
}
this->OutputExtension +=
this->OutputExtension += patchNumber;
this->OutputExtension += ".tar.bz2";
return this->OutputExtension.c_str();
}

18
Source/CPack/cmCPackCygwinSourceGenerator.cxx

@ -124,7 +124,14 @@ int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
std::string outerTarFile
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
outerTarFile += "-";
outerTarFile += this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
const char* patch = this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
if(!patch)
{
cmCPackLogger(cmCPackLog::LOG_WARNING, "CPACK_CYGWIN_PATCH_NUMBER"
<< " not specified, defaulting to 1\n");
patch = "1";
}
outerTarFile += patch;
outerTarFile += "-src.tar";
std::string buildScript = cmSystemTools::GetFilenameName(
this->GetOption("CPACK_CYGWIN_BUILD_SCRIPT"));
@ -176,7 +183,14 @@ const char* cmCPackCygwinSourceGenerator::GetPackagingInstallPrefix()
const char* cmCPackCygwinSourceGenerator::GetOutputExtension()
{
this->OutputExtension = "-";
this->OutputExtension += this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
const char* patch = this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
if(!patch)
{
cmCPackLogger(cmCPackLog::LOG_WARNING, "CPACK_CYGWIN_PATCH_NUMBER"
<< " not specified, defaulting to 1\n");
patch = "1";
}
this->OutputExtension += patch;
this->OutputExtension += "-src.tar.bz2";
return this->OutputExtension.c_str();
}

10
Source/CPack/cmCPackGenerator.cxx

@ -817,7 +817,15 @@ bool cmCPackGenerator::IsSet(const char* name) const
//----------------------------------------------------------------------
const char* cmCPackGenerator::GetOption(const char* op)
{
return this->MakefileMap->GetDefinition(op);
const char* ret = this->MakefileMap->GetDefinition(op);
if(!ret)
{
cmCPackLogger(cmCPackLog::LOG_DEBUG,
"Warning, GetOption return NULL for: "
<< op
<< std::endl);
}
return ret;
}
//----------------------------------------------------------------------

Loading…
Cancel
Save