Since !3117 (merged), one code path now calls CollapseFullPath
with a base path that may be relative. Backport utils/kwsys!145 (merged) to handle such base paths.
This case occurs when a build tree is placed in a directory inside a source tree such that CMake is willing to generate a relative path from the build tree to the source tree. Add a test covering this case.
Fixes: #19507 (closed)