Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and
`Source/cmUVHandlePtr.h` where a few older compilers require a
user-defined default constructor (with `{}`).
50dd15af QtDialog: block include-what-you-use
f3e21613 cmServer: include what you use
9535823b IWYU: map system symbols to libuv
6a91ee02 IWYU: add mapping for cm::auto_ptr
7165065f cmInstalledFile: add cmConfigure.h as first #include
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !811
`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
Add a signal handler to trigger shutdown and be more paranoid about
libuv doing things asynchronously. This should fix test cases not
shutting down properly.
Enable the server to watch for filesystem changes. This patch includes
* The infrastructure for the file watching
* makes that infrastructure available to cmServerProtocols
* Resets the filesystemwatchers on "configure"