diff options
author | Brad King <brad.king@kitware.com> | 2018-08-31 18:45:57 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2018-08-31 18:46:02 (GMT) |
commit | 388bf1feee7404328fa208cbda36f19e2e2d03c6 (patch) | |
tree | a813679dca8594cc1efb3ec2f57e31b241652ddd /Modules | |
parent | e16568c2938fdcbf060dc15c1492fa0c98d50d35 (diff) | |
parent | 4e1ea02bb86f40d8ba0c247869a508b1da2c84b1 (diff) | |
download | CMake-388bf1feee7404328fa208cbda36f19e2e2d03c6.zip CMake-388bf1feee7404328fa208cbda36f19e2e2d03c6.tar.gz CMake-388bf1feee7404328fa208cbda36f19e2e2d03c6.tar.bz2 |
Merge topic 'CheckIPOSupported-output-backslashes'
4e1ea02bb8 CheckIPOSupported: Tolerate backslashes in output of failed checks
b7dbb25a0a CheckIPOSupported: Simplify result reporting logic
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2331
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CheckIPOSupported.cmake | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Modules/CheckIPOSupported.cmake b/Modules/CheckIPOSupported.cmake index d8297d9..3344834 100644 --- a/Modules/CheckIPOSupported.cmake +++ b/Modules/CheckIPOSupported.cmake @@ -56,13 +56,14 @@ include(CMakeParseArguments) # cmake_parse_arguments # X_RESULT - name of the final result variable # X_OUTPUT - name of the variable with information about error macro(_ipo_not_supported output) - string(COMPARE EQUAL "${X_RESULT}" "" is_empty) - if(is_empty) + if(NOT X_RESULT) message(FATAL_ERROR "IPO is not supported (${output}).") endif() set("${X_RESULT}" NO PARENT_SCOPE) - set("${X_OUTPUT}" "${output}" PARENT_SCOPE) + if(X_OUTPUT) + set("${X_OUTPUT}" "${output}" PARENT_SCOPE) + endif() endmacro() # Run IPO/LTO test @@ -125,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() |