Browse Source

Merge topic 'link-information-with-decorated-diagnostics' into release-4.0

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
release
Brad King 5 months ago
committed by Kitware Robot
parent
commit
dfbcaa9ee1
  1. 2
      Modules/CMakeDetermineCompilerABI.cmake
  2. 5
      Tests/RunCMake/ParseImplicitLinkInfo/CheckCompilerLinkerId.cmake
  3. 4
      Tests/RunCMake/ParseImplicitLinkInfo/RunCMakeTest.cmake

2
Modules/CMakeDetermineCompilerABI.cmake

@ -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

5
Tests/RunCMake/ParseImplicitLinkInfo/CheckCompilerLinkerId.cmake

@ -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()

4
Tests/RunCMake/ParseImplicitLinkInfo/RunCMakeTest.cmake

@ -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()
Loading…
Cancel
Save