From 344a7cff8d68dbd86f7bd4d5e6bc58b24356054e Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 11 Jun 2002 14:25:44 -0400 Subject: [PATCH] use lower case and not short path for uniq paths on window --- Source/cmNMakeMakefileGenerator.cxx | 6 ++++++ Source/cmNMakeMakefileGenerator.h | 2 +- Source/cmUnixMakefileGenerator.cxx | 12 ++++-------- Source/cmUnixMakefileGenerator.h | 7 +++++++ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Source/cmNMakeMakefileGenerator.cxx b/Source/cmNMakeMakefileGenerator.cxx index 14222ad1a..f34c39073 100644 --- a/Source/cmNMakeMakefileGenerator.cxx +++ b/Source/cmNMakeMakefileGenerator.cxx @@ -711,3 +711,9 @@ std::string cmNMakeMakefileGenerator::CreateMakeVariable(const char* s, const ch cmSystemTools::ReplaceString(ret, "-", "_"); return ret; } + +std::string cmNMakeMakefileGenerator::LowerCasePath(const char* path) +{ + return cmSystemTools::LowerCase(path); +} + diff --git a/Source/cmNMakeMakefileGenerator.h b/Source/cmNMakeMakefileGenerator.h index e3d8b03eb..1a51a96fd 100644 --- a/Source/cmNMakeMakefileGenerator.h +++ b/Source/cmNMakeMakefileGenerator.h @@ -90,7 +90,7 @@ protected: virtual std::string ConvertToOutputPath(const char* s); virtual std::string CreateMakeVariable(const char* s, const char* s2); - + virtual std::string LowerCasePath(const char* path); private: std::string m_LibraryPathOption;// option to specifiy a link path -LIBPATH std::string m_LibraryLinkOption; // option to specify a library (like -l, empty for nmake) diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index 024503863..31e50858b 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -1356,7 +1356,7 @@ bool cmUnixMakefileGenerator::OutputObjectDepends(std::ostream& fout) // by the class cmMakeDepend GenerateMakefile void cmUnixMakefileGenerator::OutputCheckDepends(std::ostream& fout) { - std::set emittedShortPath; + std::set emittedLowerPath; std::set emitted; // Iterate over every target. std::map& targets = m_Makefile->GetTargets(); @@ -1388,13 +1388,9 @@ void cmUnixMakefileGenerator::OutputCheckDepends(std::ostream& fout) { std::string dependfile = this->ConvertToOutputPath(cmSystemTools::CollapseFullPath(dep->c_str()).c_str()); - // use the short path function to create uniqe names - std::string shortpath; - if(!cmSystemTools::GetShortPath(dependfile.c_str(), shortpath)) - { - shortpath = dependfile; - } - if(emittedShortPath.insert(shortpath).second) + // use the lower path function to create uniqe names + std::string lowerpath = this->LowerCasePath(dependfile.c_str()); + if(emittedLowerPath.insert(lowerpath).second) { emitted.insert(dependfile); fout << " \\\n" << dependfile ; diff --git a/Source/cmUnixMakefileGenerator.h b/Source/cmUnixMakefileGenerator.h index 9881484da..c25879c42 100644 --- a/Source/cmUnixMakefileGenerator.h +++ b/Source/cmUnixMakefileGenerator.h @@ -169,6 +169,13 @@ protected: return std::string(s) + std::string(s2); } + ///! if the OS is case insensitive then return a lower case of the path. + virtual std::string LowerCasePath(const char* path) + { + return std::string(path); + } + + protected: std::string m_ExecutableOutputPath; std::string m_LibraryOutputPath;