diff options
Diffstat (limited to 'Source/cmBuildNameCommand.cxx')
-rw-r--r-- | Source/cmBuildNameCommand.cxx | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Source/cmBuildNameCommand.cxx b/Source/cmBuildNameCommand.cxx index 654ede0..83cabc2 100644 --- a/Source/cmBuildNameCommand.cxx +++ b/Source/cmBuildNameCommand.cxx @@ -59,10 +59,24 @@ bool cmBuildNameCommand::Invoke(std::vector<std::string>& args) if(m_Makefile->GetDefinition("UNIX")) { buildname = ""; - cmSystemTools::RunCommand("uname", + cmSystemTools::RunCommand("uname -a", buildname); + if(buildname.length()) + { + std::string RegExp = "([^ ]*) [^ ]* ([^ ]*) "; + cmRegularExpression reg( RegExp.c_str() ); + if(reg.find(buildname.c_str())) + { + buildname = reg.match(1) + "-" + reg.match(2); + } + } + } - + + std::string compiler = "-${CXX}"; + m_Makefile->ExpandVariablesInString ( compiler ); + buildname += compiler; + cmCacheManager::GetInstance()-> AddCacheEntry("BUILDNAME", buildname.c_str(), |