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
This commit is contained in:
parent
b7dbb25a0a
commit
4e1ea02bb8
@ -126,7 +126,13 @@ macro(_ipo_run_language_check language)
|
||||
)
|
||||
|
||||
if(NOT result)
|
||||
_ipo_not_supported("${output}")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"${language} compiler IPO check failed with the following output:\n"
|
||||
"${output}\n")
|
||||
_ipo_not_supported("check failed to compile")
|
||||
if(X_OUTPUT)
|
||||
set("${X_OUTPUT}" "${output}" PARENT_SCOPE)
|
||||
endif()
|
||||
return()
|
||||
endif()
|
||||
endmacro()
|
||||
|
Loading…
Reference in New Issue
Block a user