diff options
author | Brad King <brad.king@kitware.com> | 2013-10-18 17:30:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-10-18 17:32:39 (GMT) |
commit | a8226e91d75e595248a176966f3f645203f12072 (patch) | |
tree | 23c08ad0e211046f545b665a89274189ca18fd6b /Source | |
parent | 919e1e845361d6e29789f5347d12af3318452843 (diff) | |
download | CMake-a8226e91d75e595248a176966f3f645203f12072.zip CMake-a8226e91d75e595248a176966f3f645203f12072.tar.gz CMake-a8226e91d75e595248a176966f3f645203f12072.tar.bz2 |
cmake: Drop support for "-i" wizard mode
Tell users to pass cache values with the -D option on the command line
or use cmake-gui or ccmake.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Source/cmCacheManager.h | 1 | ||||
-rw-r--r-- | Source/cmakemain.cxx | 14 | ||||
-rw-r--r-- | Source/cmakewizard.cxx | 155 | ||||
-rw-r--r-- | Source/cmakewizard.h | 42 |
5 files changed, 5 insertions, 209 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 71fae58..288e867 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -281,8 +281,6 @@ set(SRCS cmXMLSafe.h cmake.cxx cmake.h - cmakewizard.cxx - cmakewizard.h cm_sha2.h cm_sha2.c diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h index 2eb440a..4b8c07d 100644 --- a/Source/cmCacheManager.h +++ b/Source/cmCacheManager.h @@ -179,7 +179,6 @@ private: // the commands should never use the cmCacheManager directly friend class cmMakefile; // allow access to add cache values friend class cmake; // allow access to add cache values - friend class cmakewizard; // allow access to add cache values friend class cmMarkAsAdvancedCommand; // allow access to add cache values }; diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 5113a75..e86c2cf 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -20,7 +20,6 @@ #include "cmcmd.h" #include "cmCacheManager.h" #include "cmListFileCache.h" -#include "cmakewizard.h" #include "cmSourceFile.h" #include "cmGlobalGenerator.h" #include "cmLocalGenerator.h" @@ -61,7 +60,6 @@ static const char * cmDocumentationOptions[][2] = { CMAKE_STANDARD_OPTIONS_TABLE, {"-E", "CMake command mode."}, - {"-i", "Run in wizard mode."}, {"-L[A][H]", "List non-advanced cached variables."}, {"--build <dir>", "Build a CMake-generated project binary tree."}, {"-N", "View mode only."}, @@ -236,7 +234,6 @@ int do_cmake(int ac, char** av) } #endif - bool wiz = false; bool sysinfo = false; bool list_cached = false; bool list_all_cached = false; @@ -248,7 +245,11 @@ int do_cmake(int ac, char** av) { if(strcmp(av[i], "-i") == 0) { - wiz = true; + std::cerr << + "The \"cmake -i\" wizard mode is no longer supported.\n" + "Use the -D option to set cache values on the command line.\n" + "Use cmake-gui or ccmake for an interactive dialog.\n"; + return 1; } else if(strcmp(av[i], "--system-information") == 0) { @@ -301,11 +302,6 @@ int do_cmake(int ac, char** av) args.push_back(av[i]); } } - if (wiz) - { - cmakewizard wizard; - return wizard.RunWizard(args); - } if (sysinfo) { cmake cm; diff --git a/Source/cmakewizard.cxx b/Source/cmakewizard.cxx deleted file mode 100644 index bac403a..0000000 --- a/Source/cmakewizard.cxx +++ /dev/null @@ -1,155 +0,0 @@ -/*============================================================================ - CMake - Cross Platform Makefile Generator - Copyright 2000-2009 Kitware, Inc., Insight Software Consortium - - Distributed under the OSI-approved BSD License (the "License"); - see accompanying file Copyright.txt for details. - - This software is distributed WITHOUT ANY WARRANTY; without even the - implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the License for more information. -============================================================================*/ -#include "cmakewizard.h" -#include "cmake.h" -#include "cmCacheManager.h" - -cmakewizard::cmakewizard() -{ - this->ShowAdvanced = false; -} - - -void cmakewizard::AskUser(const char* key, - cmCacheManager::CacheIterator& iter) -{ - printf("Variable Name: %s\n", key); - const char* helpstring = iter.GetProperty("HELPSTRING"); - printf("Description: %s\n", (helpstring?helpstring:"(none)")); - printf("Current Value: %s\n", iter.GetValue()); - printf("New Value (Enter to keep current value): "); - char buffer[4096]; - if(!fgets(buffer, static_cast<int>(sizeof(buffer) - 1), stdin)) - { - buffer[0] = 0; - } - - if(strlen(buffer) > 0) - { - std::string sbuffer = buffer; - std::string::size_type pos = sbuffer.find_last_not_of(" \n\r\t"); - std::string value = ""; - if ( pos != std::string::npos ) - { - value = sbuffer.substr(0, pos+1); - } - - if ( value.size() > 0 ) - { - if(iter.GetType() == cmCacheManager::PATH || - iter.GetType() == cmCacheManager::FILEPATH) - { - cmSystemTools::ConvertToUnixSlashes(value); - } - if(iter.GetType() == cmCacheManager::BOOL) - { - if(!cmSystemTools::IsOn(value.c_str())) - { - value = "OFF"; - } - } - iter.SetValue(value.c_str()); - } - } - printf("\n"); -} - -bool cmakewizard::AskAdvanced() -{ - printf("Would you like to see advanced options? [No]:"); - char buffer[4096]; - if(!fgets(buffer, static_cast<int>(sizeof(buffer) - 1), stdin)) - { - buffer[0] = 0; - } - else if(buffer[0] == 'y' || buffer[0] == 'Y') - { - return true; - } - return false; -} - - -void cmakewizard::ShowMessage(const char* m) -{ - printf("%s\n", m); -} - - - -int cmakewizard::RunWizard(std::vector<std::string> const& args) -{ - this->ShowAdvanced = this->AskAdvanced(); - cmSystemTools::DisableRunCommandOutput(); - cmake make; - make.SetArgs(args); - make.SetCMakeCommand(args[0].c_str()); - make.LoadCache(); - make.SetCacheArgs(args); - std::map<cmStdString, cmStdString> askedCache; - bool asked = false; - // continue asking questions until no new questions are asked - do - { - asked = false; - // run cmake - this->ShowMessage( - "Please wait while cmake processes CMakeLists.txt files....\n"); - - make.Configure(); - this->ShowMessage("\n"); - // load the cache from disk - cmCacheManager *cachem = make.GetCacheManager(); - cachem->LoadCache(make.GetHomeOutputDirectory()); - cmCacheManager::CacheIterator i = cachem->NewIterator(); - // iterate over all entries in the cache - for(;!i.IsAtEnd(); i.Next()) - { - std::string key = i.GetName(); - if( i.GetType() == cmCacheManager::INTERNAL || - i.GetType() == cmCacheManager::STATIC || - i.GetType() == cmCacheManager::UNINITIALIZED ) - { - continue; - } - if(askedCache.count(key)) - { - std::string& e = askedCache.find(key)->second; - if(e != i.GetValue()) - { - if(this->ShowAdvanced || !i.GetPropertyAsBool("ADVANCED")) - { - this->AskUser(key.c_str(), i); - asked = true; - } - } - } - else - { - if(this->ShowAdvanced || !i.GetPropertyAsBool("ADVANCED")) - { - this->AskUser(key.c_str(), i); - asked = true; - } - } - askedCache[key] = i.GetValue(); - } - cachem->SaveCache(make.GetHomeOutputDirectory()); - } - while(asked); - 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 deleted file mode 100644 index 0c8dba9..0000000 --- a/Source/cmakewizard.h +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================ - CMake - Cross Platform Makefile Generator - Copyright 2000-2009 Kitware, Inc., Insight Software Consortium - - Distributed under the OSI-approved BSD License (the "License"); - see accompanying file Copyright.txt for details. - - This software is distributed WITHOUT ANY WARRANTY; without even the - implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the License for more information. -============================================================================*/ - - -#include "cmMakefile.h" - -class cmakewizard -{ -public: - cmakewizard(); - virtual ~cmakewizard() {} - /** - * Prompt the user to see if they want to see advanced entries. - */ - virtual bool AskAdvanced(); - - /** - * Prompt the User for a new value for key, the answer is put in entry. - */ - virtual void AskUser(const char* key, cmCacheManager::CacheIterator& iter); - ///! Show a message to wait for cmake to run. - virtual void ShowMessage(const char*); - - /** - * Run cmake in wizard mode. This will coninue to ask the user questions - * until there are no more entries in the cache. - */ - int RunWizard(std::vector<std::string>const& args); - -private: - bool ShowAdvanced; -}; - |