[Cmake-commits] CMake branch, next, updated. v2.8.8-3140-g947d387
Brad King
brad.king at kitware.com
Wed Jun 13 08:57:10 EDT 2012
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 947d387668ec5382c71c56db6315e5a4ec7c5e38 (commit)
via a41557a2c8e92f1720b6a38688275c5afa9cc67b (commit)
from 54449c11d0b779b62178e71136cc013771078931 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=947d387668ec5382c71c56db6315e5a4ec7c5e38
commit 947d387668ec5382c71c56db6315e5a4ec7c5e38
Merge: 54449c1 a41557a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Jun 13 08:57:08 2012 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jun 13 08:57:08 2012 -0400
Merge topic 'install-case-sensitive-mac' into next
a41557a install: Fix FILES_MATCHING on case-sensitive Mac filesystems (#13177)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a41557a2c8e92f1720b6a38688275c5afa9cc67b
commit a41557a2c8e92f1720b6a38688275c5afa9cc67b
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Jun 13 08:42:39 2012 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jun 13 08:50:44 2012 -0400
install: Fix FILES_MATCHING on case-sensitive Mac filesystems (#13177)
Windows and Apple machines have predominantly used case-insensitive
filesystems so our file(INSTALL) command uses case-insensitive pattern
matching. It is implemented by converting the pattern and file path to
lower case before matching. The FILES_MATCHING option is implemented by
excluding a path that does not match any pattern unless it is a
directory that must be searched recursively. However, the test that an
excluded path is a directory is executed on the lower-case path and
therefore fails on mixed-case input paths on case-sensitive filesystems.
Fix the file(INSTALL) implementation to use the lower-case path only for
pattern matching and preserve the original path for tests against the
real filesystem.
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 3f14fa1..aab6446 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1003,7 +1003,9 @@ protected:
// 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();
+ const char* file_to_match = lower.c_str();
+#else
+ const char* file_to_match = file;
#endif
// Collect properties from all matching rules.
@@ -1012,7 +1014,7 @@ protected:
for(std::vector<MatchRule>::iterator mr = this->MatchRules.begin();
mr != this->MatchRules.end(); ++mr)
{
- if(mr->Regex.find(file))
+ if(mr->Regex.find(file_to_match))
{
matched = true;
result.Exclude |= mr->Properties.Exclude;
-----------------------------------------------------------------------
Summary of changes:
Source/cmFileCommand.cxx | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list