summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudioGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-08-08 15:26:59 (GMT)
committerBrad King <brad.king@kitware.com>2006-08-08 15:26:59 (GMT)
commit6ad36e407e95bcf6a419f7684dd6d61f19a165b1 (patch)
treee0b6f2f01578bed0f1753e696f35248122f826e0 /Source/cmLocalVisualStudioGenerator.cxx
parent67e1f909569fda9d16319e11df0f8c8e0f375151 (diff)
downloadCMake-6ad36e407e95bcf6a419f7684dd6d61f19a165b1.zip
CMake-6ad36e407e95bcf6a419f7684dd6d61f19a165b1.tar.gz
CMake-6ad36e407e95bcf6a419f7684dd6d61f19a165b1.tar.bz2
BUG: Duplicate object name detection should not be case sensitive since this code is used on Windows file systems. This addresses bug#3589.
Diffstat (limited to 'Source/cmLocalVisualStudioGenerator.cxx')
-rw-r--r--Source/cmLocalVisualStudioGenerator.cxx13
1 files 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<cmStdString, int> 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)
{