diff options
author | Robert Maynard <rmaynard@nvidia.com> | 2022-08-16 11:59:46 -0400 |
---|---|---|
committer | Robert Maynard <rmaynard@nvidia.com> | 2022-08-16 11:59:46 -0400 |
commit | 9c5bd7fe3acc18fc5c1a4d22b1435aeb34d274e6 (patch) | |
tree | 650da2d74c4a825946569694fa057b710da46f9d | |
parent | 9ce5018be9f8ffd2bcfda00b9c1b81d3401e20ba (diff) | |
download | cmake-9c5bd7fe3acc18fc5c1a4d22b1435aeb34d274e6.tar.gz |
CompilerId: Output errors from all attempts at detection
Instead of printing the output of the last attempt, print
the output of all attempts. This shows users that CMake isn't ignoring any provided flags ( LANG_FLAGS ).
-rw-r--r-- | Modules/CMakeDetermineCompilerId.cmake | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake index 2b19736d47..6b5854941f 100644 --- a/Modules/CMakeDetermineCompilerId.cmake +++ b/Modules/CMakeDetermineCompilerId.cmake @@ -720,7 +720,7 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS} OR CMAKE_${lang}_COMPILER_ID_OUTPUT MATCHES "warning #5117: Bad # preprocessor line" ) # Compilation failed. - set(MSG + string(APPEND _CMAKE_DETERMINE_COMPILER_ID_BUILD_MSG "Compiling the ${lang} compiler identification source file \"${src}\" failed. ${COMPILER_DESCRIPTION} The output was: @@ -736,7 +736,11 @@ ${CMAKE_${lang}_COMPILER_ID_OUTPUT} # Some languages may know the correct/desired set of flags and want to fail right away if they don't work. # This is currently only used by CUDA. if(__compiler_id_require_success) - message(FATAL_ERROR "${MSG}") + message(FATAL_ERROR "${_CMAKE_DETERMINE_COMPILER_ID_BUILD_MSG}") + else() + # Build up the outputs for compiler detection attempts so that users + # can see all set of flags tried, instead of just last + set(_CMAKE_DETERMINE_COMPILER_ID_BUILD_MSG "${_CMAKE_DETERMINE_COMPILER_ID_BUILD_MSG}" PARENT_SCOPE) endif() # No output files should be inspected. |