diff options
author | Brad King <brad.king@kitware.com> | 2003-08-26 19:06:52 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2003-08-26 19:06:52 (GMT) |
commit | 41445f67aca14217f5e786b25ed5665b26d45ca8 (patch) | |
tree | 79a6e937f774a1bd2670430a3b14c0b2b58515d4 | |
parent | c59cc5a542ca78cba2983d91b588ae1f7ee490dd (diff) | |
download | CMake-41445f67aca14217f5e786b25ed5665b26d45ca8.zip CMake-41445f67aca14217f5e786b25ed5665b26d45ca8.tar.gz CMake-41445f67aca14217f5e786b25ed5665b26d45ca8.tar.bz2 |
BUG: Fixed crash of cmake -i when CMAKE_ROOT cannot be found. Made resulting error message cleaner.
-rw-r--r-- | Source/cmake.cxx | 11 | ||||
-rw-r--r-- | Source/cmakemain.cxx | 3 | ||||
-rw-r--r-- | Source/cmakewizard.cxx | 10 | ||||
-rw-r--r-- | Source/cmakewizard.h | 2 |
4 files changed, 17 insertions, 9 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx index c4c73dd..06370be 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -544,9 +544,10 @@ int cmake::AddCMakePaths(const char *arg0) if (!cmSystemTools::FileExists(modules.c_str())) { // couldn't find modules - cmSystemTools::Error("Could not find CMAKE_ROOT !!!\n", - "Modules directory not in directory:\n", - modules.c_str()); + cmSystemTools::Error("Could not find CMAKE_ROOT !!!\n" + "CMake has most likely not been installed correctly.\n" + "Modules directory not found in\n", + cMakeRoot.c_str()); return 0; } this->m_CacheManager->AddCacheEntry @@ -1058,6 +1059,10 @@ int cmake::Run(const std::vector<std::string>& args, bool noconfigure) int cmake::Generate() { + if(!m_GlobalGenerator) + { + return -1; + } m_GlobalGenerator->Generate(); if(cmSystemTools::GetErrorOccuredFlag()) { diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 7a19d09..5833dd1 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -196,8 +196,7 @@ int do_cmake(int ac, char** av) if (wiz) { cmakewizard wizard; - wizard.RunWizard(args); - return 0; + return wizard.RunWizard(args); } cmake cm; cm.SetProgressCallback(updateProgress, 0); diff --git a/Source/cmakewizard.cxx b/Source/cmakewizard.cxx index f31d54b..f1c4fab 100644 --- a/Source/cmakewizard.cxx +++ b/Source/cmakewizard.cxx @@ -89,7 +89,7 @@ void cmakewizard::ShowMessage(const char* m) -void cmakewizard::RunWizard(std::vector<std::string> const& args) +int cmakewizard::RunWizard(std::vector<std::string> const& args) { m_ShowAdvanced = this->AskAdvanced(); cmSystemTools::DisableRunCommandOutput(); @@ -148,6 +148,10 @@ void cmakewizard::RunWizard(std::vector<std::string> const& args) cachem->SaveCache(make.GetHomeOutputDirectory()); } while(asked); - make.Generate(); - this->ShowMessage("CMake complete, run make to build project.\n"); + if(make.Generate() == 0) + { + this->ShowMessage("CMake complete, run make to build project.\n"); + return 0; + } + return 1; } diff --git a/Source/cmakewizard.h b/Source/cmakewizard.h index 21521da..1a9baa6 100644 --- a/Source/cmakewizard.h +++ b/Source/cmakewizard.h @@ -38,7 +38,7 @@ public: * Run cmake in wizard mode. This will coninue to ask the user questions * until there are no more entries in the cache. */ - void RunWizard(std::vector<std::string>const& args); + int RunWizard(std::vector<std::string>const& args); private: bool m_ShowAdvanced; |