From 6ad36e407e95bcf6a419f7684dd6d61f19a165b1 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 8 Aug 2006 11:26:59 -0400 Subject: BUG: Duplicate object name detection should not be case sensitive since this code is used on Windows file systems. This addresses bug#3589. --- Source/cmLocalVisualStudioGenerator.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Source/cmLocalVisualStudioGenerator.cxx b/Source/cmLocalVisualStudioGenerator.cxx index 16164d1..f2da64e 100644 --- a/Source/cmLocalVisualStudioGenerator.cxx +++ b/Source/cmLocalVisualStudioGenerator.cxx @@ -55,7 +55,8 @@ void cmLocalVisualStudioGenerator::ComputeObjectNameRequirements // Clear the current set of requirements. this->NeedObjectName.clear(); - // Count the number of object files with each name. + // Count the number of object files with each name. Note that + // windows file names are not case sensitive. std::map objectNameCounts; for(unsigned int i = 0; i < sourceGroups.size(); ++i) { @@ -68,8 +69,9 @@ void cmLocalVisualStudioGenerator::ComputeObjectNameRequirements if(this->SourceFileCompiles(sf)) { std::string objectName = - cmSystemTools::GetFilenameWithoutLastExtension( - sf->GetFullPath().c_str()); + cmSystemTools::LowerCase( + cmSystemTools::GetFilenameWithoutLastExtension( + sf->GetFullPath().c_str())); objectName += ".obj"; objectNameCounts[objectName] += 1; } @@ -89,8 +91,9 @@ void cmLocalVisualStudioGenerator::ComputeObjectNameRequirements if(this->SourceFileCompiles(sf)) { std::string objectName = - cmSystemTools::GetFilenameWithoutLastExtension( - sf->GetFullPath().c_str()); + cmSystemTools::LowerCase( + cmSystemTools::GetFilenameWithoutLastExtension( + sf->GetFullPath().c_str())); objectName += ".obj"; if(objectNameCounts[objectName] > 1) { -- cgit v0.12