Fix translation map issues
The translation map in CMake causes problems with build directories which involve symlinks. The original use case for the translation map is to support /home/user
→ /mnt/xyz/user
(where xyz
can change based on the login node, but is otherwise the same filesystem).
The fix is to add a translation map entry for this directory iff the source and binary directories both have a shared non-symlink root below any symlinks. If in the process of finding a shared root, a symlink is discovered before finding the root, no translation map entries should be created for those directories. This also makes the translation map a CMake-specific thing rather than it existing in kwsys as it currently does (see this WIP change.
This issue collects other issues into a single place.