add_subdirectory with path outside project produces strange tmp directorys

after lots of checking, I’ve done something simple: I have copied the project closer to the root to get shorter pathnames. And voila, it looks better:

but what I still not understand, when I provide a relative path to add_subdirectory for the binary path, it is still prepended by the full project path. This creates long pathnames that seem to be shortened, it happens in the cmake build configuration step.I couldn’t find some sort of concatenation in the Mbed cmake files.

edit:
there is a algorithm to shorten filenames: https://cmake.org/cmake/help/latest/variable/CMAKE_OBJECT_PATH_MAX.html
that explains the hash values in the filename