Making set(CMAKE_C_COMPILER) understand alt sysroot path

Just setting the above fails in my case as it can’t find things like crti.o, which in this particular cross-compilation case are in an unorthodox location. I’m setting the --sysroot path as a manually added flag for the actual build.
Also, the correct path to crti.o and friends is pointed out on the CMAKE_FIND_ROOT_PATH and as a real build works whereas this set(CMAKE_C_COMPILER) check does not I wonder if there is any way of making set(CMAKE_C_COMPILER …) understand the sysroot path?

The workaround is to just set(CMAKE_C_COMPILER_WORKS 1) but I feel sad doing it when there is a perfectly good sysroot around.

Thank you.