Merge topic 'link-information-with-decorated-diagnostics'

ee066d2271 LinkerId: Suppress decorated diagnostics during linker inspection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Nils Gladitz <nilsgladitz@gmail.com>
Merge-request: !10442
This commit is contained in:
Brad King 2025-03-11 13:40:03 +00:00 committed by Kitware Robot
commit 6d260533e7
3 changed files with 11 additions and 0 deletions

View File

@ -67,6 +67,8 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
# executables. This may lead to issues when their stderr output (which
# contains the relevant compiler internals) becomes interweaved.
string(REGEX REPLACE "(^| )-pipe( |$)" " " ${v} "${${v}}")
# Suppress any formatting of warnings and/or errors
string(REGEX REPLACE "(-f|/)diagnostics(-|:)color(=[a-z]+)?" "" ${v} "${${v}}")
endforeach()
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables

View File

@ -0,0 +1,5 @@
enable_language(C)
if(NOT CMAKE_C_COMPILER_LINKER OR NOT CMAKE_C_COMPILER_LINKER_ID)
message(FATAL_ERROR "Failed to determine Linker.")
endif()

View File

@ -39,3 +39,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|Darwin|Windows|AIX|SunOS)$|BSD"
)
endif()
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES Clang)
run_cmake_with_options(CheckCompilerLinkerId "-DCMAKE_C_FLAGS=-fdiagnostics-color=always")
endif()