From 21007f898952d74a4db38a9259d946c7d9a06eb3 Mon Sep 17 00:00:00 2001 From: Eric NOULARD Date: Sat, 19 Mar 2011 11:12:31 +0100 Subject: [PATCH] CPack fix CPackDeb crash when CPackDeb.cmake ends with a FATAL_ERROR --- Source/CPack/cmCPackDebGenerator.cxx | 13 +++++++++---- Source/CPack/cmCPackGenerator.cxx | 6 +++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index d3320c045..ca2185c58 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -96,6 +96,7 @@ int cmCPackDebGenerator::PackageComponents(bool ignoreGroup) cmCPackLogger(cmCPackLog::LOG_ERROR, "Error while execution CPackDeb.cmake" << std::endl); retval = 0; + return retval; } cmsys::Glob gl; @@ -105,7 +106,7 @@ int cmCPackDebGenerator::PackageComponents(bool ignoreGroup) if ( !gl.FindFiles(findExpr) ) { cmCPackLogger(cmCPackLog::LOG_ERROR, - "Cannot find any files in the installed directory" << std::endl); + "Cannot find any files in the installed directory" << std::endl); return 0; } packageFiles = gl.GetFiles(); @@ -152,8 +153,8 @@ int cmCPackDebGenerator::PackageComponents(bool ignoreGroup) cmCPackLogger(cmCPackLog::LOG_ERROR, "Error while execution CPackDeb.cmake" << std::endl); retval = 0; + return retval; } - cmsys::Glob gl; std::string findExpr(this->GetOption("WDIR")); findExpr += "/*"; @@ -230,6 +231,7 @@ int cmCPackDebGenerator::PackageComponentsAllInOne(bool allComponent) cmCPackLogger(cmCPackLog::LOG_ERROR, "Error while execution CPackDeb.cmake" << std::endl); retval = 0; + return retval; } cmsys::Glob gl; @@ -288,8 +290,11 @@ int cmCPackDebGenerator::PackageFiles() "Error while execution CPackDeb.cmake" << std::endl); retval = 0; } - packageFiles = files; - return createDeb(); + else + { + packageFiles = files; + return createDeb(); + } } return retval; } diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 5f314c6d3..c343acfbd 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -885,8 +885,12 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( //---------------------------------------------------------------------- bool cmCPackGenerator::ReadListFile(const char* moduleName) { + bool retval; std::string fullPath = this->MakefileMap->GetModulesFile(moduleName); - return this->MakefileMap->ReadListFile(0, fullPath.c_str()); + retval = this->MakefileMap->ReadListFile(0, fullPath.c_str()); + // include FATAL_ERROR and ERROR in the return status + retval = retval && (! cmSystemTools::GetErrorOccuredFlag()); + return retval; } //----------------------------------------------------------------------