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.
While at it, simplify checks for whether the caller passed
Fixes: #18244 (closed)