From e0fa3f281c4d65a347759bae9848c9fb703db6bc Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Tue, 10 Jul 2001 09:23:34 -0400 Subject: [PATCH] changes to better handle old values or hand set values --- Source/cmBuildNameCommand.cxx | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Source/cmBuildNameCommand.cxx b/Source/cmBuildNameCommand.cxx index 91b7edbb0..9bf4b1a35 100644 --- a/Source/cmBuildNameCommand.cxx +++ b/Source/cmBuildNameCommand.cxx @@ -52,9 +52,29 @@ bool cmBuildNameCommand::InitialPass(std::vector& args) = cmCacheManager::GetInstance()->GetCacheValue("BUILDNAME"); if(cacheValue) { - m_Makefile->AddDefinition("BUILDNAME", cacheValue); + // do we need to correct the value? + cmRegularExpression reg("[()/]"); + if (reg.find(cacheValue)) + { + std::string cv = cacheValue; + cmSystemTools::ReplaceString(cv,"/", "_"); + cmSystemTools::ReplaceString(cv,"(", "_"); + cmSystemTools::ReplaceString(cv,")", "_"); + cmCacheManager::GetInstance()-> + AddCacheEntry("BUILDNAME", + cv.c_str(), + "Name of build.", + cmCacheManager::STRING); + m_Makefile->AddDefinition("BUILDNAME", cv.c_str()); + } + else + { + m_Makefile->AddDefinition("BUILDNAME", cacheValue); + } return true; } + + std::string buildname = "WinNT"; if(m_Makefile->GetDefinition("UNIX")) {