summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-08-21 21:47:51 (GMT)
committerBrad King <brad.king@kitware.com>2006-08-21 21:47:51 (GMT)
commitc99dcc30be3e4d5c31ebcf8e35f4073f0af0e83a (patch)
tree4c6a9c879850c8d3f7438a3ef6a110c940c49e9a /Source
parent08398a9f0c9bfe27ecb6d75432e2ecfd85f6159f (diff)
downloadCMake-c99dcc30be3e4d5c31ebcf8e35f4073f0af0e83a.zip
CMake-c99dcc30be3e4d5c31ebcf8e35f4073f0af0e83a.tar.gz
CMake-c99dcc30be3e4d5c31ebcf8e35f4073f0af0e83a.tar.bz2
BUG: Directory installation pattern matching should be case insensitive on some platforms.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmFileCommand.cxx7
-rw-r--r--Source/cmInstallCommand.cxx5
2 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index ee83ea5..dd96db8 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -400,6 +400,13 @@ public:
// Get the properties from rules matching this input file.
MatchProperties CollectMatchProperties(const char* file)
{
+ // Match rules are case-insensitive on some platforms.
+#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
+ std::string lower = cmSystemTools::LowerCase(file);
+ file = lower.c_str();
+#endif
+
+ // Collect properties from all matching rules.
MatchProperties result;
for(std::vector<MatchRule>::iterator mr = this->MatchRules.begin();
mr != this->MatchRules.end(); ++mr)
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 0e05ab7..a5c0408 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -938,7 +938,12 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
else if(doing_regex)
{
literal_args += " REGEX \"";
+ // Match rules are case-insensitive on some platforms.
+#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
+ std::string regex = cmSystemTools::LowerCase(args[i]);
+#else
std::string regex = args[i];
+#endif
cmSystemTools::ReplaceString(regex, "\\", "\\\\");
literal_args += regex;
literal_args += "\"";