cmSourceFileLocation: Collapse full path for directory comparisons.

Otherwise Matches() ends up doing a comparison of
the directories

 /path/to/dir/subdir/..

and

 /path/to/dir

as strings and not matching where it should.
This commit is contained in:
Stephen Kelly
2014-03-27 22:56:36 +01:00
parent fcc9287897
commit 4959f3413c
4 changed files with 21 additions and 0 deletions
+5
View File
@@ -60,6 +60,11 @@ cmSourceFileLocation
this->AmbiguousDirectory = !cmSystemTools::FileIsFullPath(name.c_str());
this->AmbiguousExtension = true;
this->Directory = cmSystemTools::GetFilenamePath(name);
if (cmSystemTools::FileIsFullPath(this->Directory.c_str()))
{
this->Directory
= cmSystemTools::CollapseFullPath(this->Directory.c_str());
}
this->Name = cmSystemTools::GetFilenameName(name);
this->UpdateExtension(name);
}