CheckIPOSupported: Tolerate backslashes in output of failed checks
Avoid passing the output of our `try_compile` through a macro argument.
Macro invocations re-parse their arguments and so should not be given
arbitrary content that may contain backslashes and such.
Instead pass a simple message. This is also more readable in the case
that the macro generates a message itself. After the macro returns,
report the real output directly to the variable named by our caller.
Also record the output in a log file as other checks do on failure.
Fixes: #18244