summaryrefslogtreecommitdiffstats
path: root/Source/cmSiteNameCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmSiteNameCommand.cxx')
-rw-r--r--Source/cmSiteNameCommand.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmSiteNameCommand.cxx b/Source/cmSiteNameCommand.cxx
index 5ebc707..fe81cd7 100644
--- a/Source/cmSiteNameCommand.cxx
+++ b/Source/cmSiteNameCommand.cxx
@@ -69,9 +69,22 @@ bool cmSiteNameCommand::InitialPass(std::vector<std::string>& args)
std::string host;
cmSystemTools::RunCommand(hostname,
host);
+ if (host.length())
+ {
+ // remove any white space from the host name
+ std::string hostRegExp = "[ \t\n\r]*([^\t\n\r ]*)[ \t\n\r]*";
+ cmRegularExpression hostReg (hostRegExp.c_str());
+ if (hostReg.find(host.c_str()))
+ {
+ // strip whitespace
+ host = hostReg.match(1);
+ }
+ }
+
std::string siteName = host;
if(host.length())
{
+ // try to find the domain name for this computer
std::string nsCmd = nslookup;
nsCmd += " ";
nsCmd += host;
@@ -93,6 +106,8 @@ bool cmSiteNameCommand::InitialPass(std::vector<std::string>& args)
siteName.c_str(),
"Name of the computer/site where compile is being run",
cmCacheManager::STRING);
+
+ m_Makefile->AddDefinition("SITE", siteName.c_str());
return true;
}