VS: Tolerate diagnostic output while detecting cl (#14387)
When the VS IDE build output setting Tools -> Options -> Projects and Solutions -> Build and Run -> MSBuild project output verbosity is set to "Diagnostic" the build output contains a " (TaskId:###)" suffix on the CMAKE_<lang>_COMPILER= line used to extract the compiler executable location. Strip this suffix before checking that the reported location exists.
This commit is contained in:
parent
dccc2b84a7
commit
8c891f86cc
|
@ -157,7 +157,8 @@ Id flags: ${testflags}
|
|||
)
|
||||
# Match the compiler location line printed out.
|
||||
if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "CMAKE_${lang}_COMPILER=([^%\r\n]+)[\r\n]")
|
||||
set(_comp "${CMAKE_MATCH_1}")
|
||||
# Strip VS diagnostic output from the end of the line.
|
||||
string(REGEX REPLACE " \\(TaskId:[0-9]*\\)$" "" _comp "${CMAKE_MATCH_1}")
|
||||
if(EXISTS "${_comp}")
|
||||
file(TO_CMAKE_PATH "${_comp}" _comp)
|
||||
set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
|
||||
|
|
Loading…
Reference in New Issue