Rpath link command evaluation works incorrectly leading to spurious rebuilds
If you have a build target that has rpaths (in our case both in the build dir and the install dir) then enabling or disabling install for that target causes a rebuild when using the Ninja backend (probably Make too, but did not test).
The reason this happens is that the linker argument setting the rpath changes like this:
-Wl,-rpath,/foo:/bar: # This line ends in a colon.
-Wl,-rpath,/foo:/bar # This does not.
This causes spurious relinks, hundreds in the current project I'm working on. Due to "reasons" toggling between these two cases is fairly common.
The rpath evaluator function inside CMake should be deterministic and produce the same result for both of these cases.