summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-08-31 18:45:57 (GMT)
committerKitware Robot <kwrobot@kitware.com>2018-08-31 18:46:02 (GMT)
commit388bf1feee7404328fa208cbda36f19e2e2d03c6 (patch)
treea813679dca8594cc1efb3ec2f57e31b241652ddd /Modules
parente16568c2938fdcbf060dc15c1492fa0c98d50d35 (diff)
parent4e1ea02bb86f40d8ba0c247869a508b1da2c84b1 (diff)
downloadCMake-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.cmake15
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()