Find root path fixes

Fix cross-compilation builds that make use of `CMAKE_FIND_ROOT_PATH` by using `find_file()` etc. to locate files and directories that may be within a cross-compilation root environment, and by suppressing searches in the cross-compilation root for things that won't be there (such as files in the source tree).