summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-08-27 18:44:15 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-08-27 18:44:15 (GMT)
commitf709e5588eaae694c7b1203580da0b5487b9ef73 (patch)
tree92f04bc50327357323b50d736e67f94b83ca98fb /Source
parent2858689d6dfe55e86b9fdb399f3d1f1f59c78b28 (diff)
downloadCMake-f709e5588eaae694c7b1203580da0b5487b9ef73.zip
CMake-f709e5588eaae694c7b1203580da0b5487b9ef73.tar.gz
CMake-f709e5588eaae694c7b1203580da0b5487b9ef73.tar.bz2
ENH: change expand variables to use GetDefinition
Diffstat (limited to 'Source')
-rw-r--r--Source/cmMakefile.cxx12
-rw-r--r--Source/cmMakefile.h2
-rw-r--r--Source/cmUnixMakefileGenerator.cxx46
3 files changed, 32 insertions, 28 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index a54b78a..3eb2d61 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -787,9 +787,9 @@ bool cmMakefile::IsOn(const char* name)
return cmSystemTools::IsOn(value);
}
-const char* cmMakefile::GetDefinition(const char* name)
+const char* cmMakefile::GetDefinition(const char* name) const
{
- DefinitionMap::iterator pos = m_Definitions.find(name);
+ DefinitionMap::const_iterator pos = m_Definitions.find(name);
if(pos != m_Definitions.end())
{
return (*pos).second.c_str();
@@ -929,16 +929,16 @@ void cmMakefile::ExpandVariablesInString(std::string& source,
}
else
{
- DefinitionMap::const_iterator pos = m_Definitions.find(var.c_str());
- if(pos != m_Definitions.end())
+ const char* lookup = this->GetDefinition(var.c_str());
+ if(lookup)
{
if (escapeQuotes)
{
- result += cmSystemTools::EscapeQuotes((*pos).second.c_str());
+ result += cmSystemTools::EscapeQuotes(lookup);
}
else
{
- result += (*pos).second;
+ result += lookup;
}
found = true;
}
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 5146f8f..b3e5865 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -452,7 +452,7 @@ public:
* If the variable is not found in this makefile instance, the
* cache is then queried.
*/
- const char* GetDefinition(const char*);
+ const char* GetDefinition(const char*) const;
/** Test a boolean cache entry to see if it is true or false,
* returns false if no entry defined.
diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx
index d5303fc..d93b803 100644
--- a/Source/cmUnixMakefileGenerator.cxx
+++ b/Source/cmUnixMakefileGenerator.cxx
@@ -1370,27 +1370,31 @@ void cmUnixMakefileGenerator::ComputeSystemInfo()
{
if (m_CacheOnly)
{
- if(m_Makefile->GetDefinition("CMAKE_CXX_COMPILER"))
- {
- std::string env = "CXX=${CMAKE_CXX_COMPILER}";
- m_Makefile->ExpandVariablesInString(env);
- putenv(const_cast<char*>(env.c_str()));
- env = "CC=${CMAKE_C_COMPILER}";
- m_Makefile->ExpandVariablesInString(env);
- putenv(const_cast<char*>(env.c_str()));
- }
-
- // currently we run configure shell script here to determine the info
- std::string output;
- std::string cmd = "cd ";
- cmd += m_Makefile->GetHomeOutputDirectory();
- cmd += "; ";
- const char* root
- = m_Makefile->GetDefinition("CMAKE_ROOT");
- cmd += root;
- cmd += "/Templates/configure";
- cmSystemTools::RunCommand(cmd.c_str(), output);
- m_Makefile->AddDefinition("RUN_CONFIGURE", true);
+ if(m_Makefile->GetDefinition("CMAKE_CXX_COMPILER"))
+ {
+ std::string env = "CXX=${CMAKE_CXX_COMPILER}";
+ m_Makefile->ExpandVariablesInString(env);
+ std::cout << "Setting: " << env.c_str() << "\n";
+ putenv(const_cast<char*>(env.c_str()));
+ }
+ if(m_Makefile->GetDefinition("CMAKE_C_COMPILER"))
+ {
+ std::string env = "CC=${CMAKE_C_COMPILER}";
+ m_Makefile->ExpandVariablesInString(env);
+ std::cout << "Setting: " << env.c_str() << "\n";
+ putenv(const_cast<char*>(env.c_str()));
+ }
+ // currently we run configure shell script here to determine the info
+ std::string output;
+ std::string cmd = "cd ";
+ cmd += m_Makefile->GetHomeOutputDirectory();
+ cmd += "; ";
+ const char* root
+ = m_Makefile->GetDefinition("CMAKE_ROOT");
+ cmd += root;
+ cmd += "/Templates/configure";
+ cmSystemTools::RunCommand(cmd.c_str(), output);
+ m_Makefile->AddDefinition("RUN_CONFIGURE", true);
}
// now load the settings