cmake: Skip libc & libusb version checks when cross-compiling

These checks break cross-compilation, as they require code to be
run on the host machine.
cmake: Fixed if()/endif() mismatch

This was mistake was introduced in 62a0ab5e.
host: Enable short source file name and line # in log output by default

When making log_* calls, add these two lines to the corresponding
CMake file prior to add_library() or add_executable():

    set(SRC_TO_SHORTEN ${MY_SRC_LIST})
    include(ShortFileMacro)

Many thanks to LazyDodo for providing the CMake approach for doing this,
and to rwr for suggesting this change.