summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2005-07-19 21:16:23 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2005-07-19 21:16:23 (GMT)
commit9062e6d922956bd374d626498a382d02804bbf83 (patch)
tree11175f8b368be4559d3165f99dea659756ac6433 /Source
parenta13713818cea07e565bdda8463f054e3d2ccd1fa (diff)
downloadCMake-9062e6d922956bd374d626498a382d02804bbf83.zip
CMake-9062e6d922956bd374d626498a382d02804bbf83.tar.gz
CMake-9062e6d922956bd374d626498a382d02804bbf83.tar.bz2
ENH: fix for bug 1866, make -G,-D -C options allow for space between arg and value
Diffstat (limited to 'Source')
-rw-r--r--Source/cmake.cxx11
-rw-r--r--Source/cmake.h6
2 files changed, 12 insertions, 5 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index e108e18..c64e3b2 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -246,6 +246,10 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
if(arg.find("-D",0) == 0)
{
std::string entry = arg.substr(2);
+ if(entry.size() == 0)
+ {
+ entry = args[++i];
+ }
std::string var, value;
cmCacheManager::CacheEntryType type = cmCacheManager::UNINITIALIZED;
if(cmCacheManager::ParseEntry(entry.c_str(), var, value, type) ||
@@ -268,8 +272,7 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
std::string path = arg.substr(2);
if ( path.size() == 0 )
{
- cmSystemTools::Error("No initial cache file provided.");
- return false;
+ path = args[++i];
}
std::cerr << "loading initial cache file " << path.c_str() << "\n";
this->ReadListFile(path.c_str());
@@ -384,6 +387,10 @@ void cmake::SetArgs(const std::vector<std::string>& args)
else if(arg.find("-G",0) == 0)
{
std::string value = arg.substr(2);
+ if(value.size() == 0)
+ {
+ value = args[++i];
+ }
cmGlobalGenerator* gen =
this->CreateGlobalGenerator(value.c_str());
if(!gen)
diff --git a/Source/cmake.h b/Source/cmake.h
index 4e61c5f..0d6f7d9 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -318,20 +318,20 @@ private:
};
#define CMAKE_STANDARD_OPTIONS_TABLE \
- {"-C<initial-cache>", "Pre-load cmake cache from given file.", \
+ {"-C <initial-cache>", "Pre-load cmake cache from given file.", \
"When cmake is first run in an empty build tree, it creates a " \
"CMakeCache.txt file and populates it with customizable settings " \
"for the project. This option may be used to specify a file from " \
"which to load cache entries before the first pass through " \
"the project's cmake listfiles. The loaded entries take priority " \
"over the project's default values."}, \
- {"-D<var>:<type>=<value>", "Create a cmake cache entry.", \
+ {"-D <var>:<type>=<value>", "Create a cmake cache entry.", \
"When cmake is first run in an empty build tree, it creates a " \
"CMakeCache.txt file and populates it with customizable settings " \
"for the project. This option may be used to specify a setting " \
"that takes priority over the project's default value. The option " \
"may be repeated for as many cache entries as desired."}, \
- {"-G<generator-name>", "Specify a makefile generator.", \
+ {"-G <generator-name>", "Specify a makefile generator.", \
"CMake may support multiple native build systems on certain platforms. " \
"A makefile generator is responsible for generating a particular build " \
"system. Possible generator names are specified in the Generators " \