cmake-server: Do not try watching subdirectories with empty names

`cmsys::SystemTools::SplitPath` will return empty segments on paths
where there's duplicaded consequent slashes (e.g.  `/home/dir/my//stuff`).
This makes the cmFileWatcher choke.  Teach cmFileMonitor to skip these
empty segments.

Closes: #16531
This commit is contained in:
Aleix Pol 2017-01-11 19:08:04 +01:00 committed by Brad King
parent 68d13665e0
commit 7bad99b0d3
1 changed files with 3 additions and 0 deletions

View File

@ -331,6 +331,9 @@ void cmFileMonitor::MonitorPaths(const std::vector<std::string>& paths,
rootSegment)); // Can not be both filename and root part of the path! rootSegment)); // Can not be both filename and root part of the path!
const std::string& currentSegment = pathSegments[i]; const std::string& currentSegment = pathSegments[i];
if (currentSegment.empty()) {
continue;
}
cmIBaseWatcher* nextWatcher = currentWatcher->Find(currentSegment); cmIBaseWatcher* nextWatcher = currentWatcher->Find(currentSegment);
if (!nextWatcher) { if (!nextWatcher) {