mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-01 11:22:21 -06:00
C++ feature checks: Improve exclusion of "0 Warning(s)"
Simply matching "0 Warning" may match "10 Warning(s)". Instead remove the entire ` 0 Warning(s)` content from the MSBuild output before searching it for warnings. Issue: #16942
This commit is contained in:
@@ -14,8 +14,10 @@ function(cm_check_cxx_feature name)
|
||||
CMAKE_FLAGS ${maybe_cxx_standard}
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
# Filter out MSBuild output that looks like a warning.
|
||||
string(REGEX REPLACE " +0 Warning\\(s\\)" "" check_output "${OUTPUT}")
|
||||
# If using the feature causes warnings, treat it as broken/unavailable.
|
||||
if(OUTPUT MATCHES "[Ww]arning" AND NOT OUTPUT MATCHES "0 Warning")
|
||||
if(check_output MATCHES "[Ww]arning")
|
||||
set(CMake_HAVE_CXX_${FEATURE} OFF CACHE INTERNAL "TRY_COMPILE" FORCE)
|
||||
endif()
|
||||
if(CMake_HAVE_CXX_${FEATURE})
|
||||
|
||||
Reference in New Issue
Block a user