|
|
@ -315,6 +315,7 @@ void cmFileMonitor::MonitorPaths(const std::vector<std::string>& paths, |
|
|
|
for (std::string const& p : paths) { |
|
|
|
std::vector<std::string> pathSegments; |
|
|
|
cmsys::SystemTools::SplitPath(p, pathSegments, true); |
|
|
|
const bool pathIsFile = !cmsys::SystemTools::FileIsDirectory(p); |
|
|
|
|
|
|
|
const size_t segmentCount = pathSegments.size(); |
|
|
|
if (segmentCount < 2) { // Expect at least rootdir and filename
|
|
|
@ -324,7 +325,7 @@ void cmFileMonitor::MonitorPaths(const std::vector<std::string>& paths, |
|
|
|
for (size_t i = 0; i < segmentCount; ++i) { |
|
|
|
assert(currentWatcher); |
|
|
|
|
|
|
|
const bool fileSegment = (i == segmentCount - 1); |
|
|
|
const bool fileSegment = (i == segmentCount - 1 && pathIsFile); |
|
|
|
const bool rootSegment = (i == 0); |
|
|
|
assert( |
|
|
|
!(fileSegment && |
|
|
|