mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 03:39:43 -06:00
CUDA: Tolerate square brackets in PROMPT environment variable
The `PROMPT` environment variable affects nvcc's output. Fix our parsing of that output to tolerate square brackets. Fixes: #19089
This commit is contained in:
@@ -111,10 +111,15 @@ elseif(CMAKE_CUDA_COMPILER_ID STREQUAL NVIDIA)
|
||||
if(_nvcc_libraries)
|
||||
# Remove variable assignments.
|
||||
string(REGEX REPLACE "#\\\$ *[^= ]+=[^\n]*\n" "" _nvcc_output "${_nvcc_output_orig}")
|
||||
# Encode [] characters that break list expansion.
|
||||
string(REPLACE "[" "{==={" _nvcc_output "${_nvcc_output}")
|
||||
string(REPLACE "]" "}===}" _nvcc_output "${_nvcc_output}")
|
||||
# Split lines.
|
||||
string(REGEX REPLACE "\n+(#\\\$ )?" ";" _nvcc_output "${_nvcc_output}")
|
||||
foreach(line IN LISTS _nvcc_output)
|
||||
set(_nvcc_output_line "${line}")
|
||||
string(REPLACE "{==={" "[" _nvcc_output_line "${_nvcc_output_line}")
|
||||
string(REPLACE "}===}" "]" _nvcc_output_line "${_nvcc_output_line}")
|
||||
string(APPEND _nvcc_log " considering line: [${_nvcc_output_line}]\n")
|
||||
if("${_nvcc_output_line}" MATCHES "^ *nvlink")
|
||||
string(APPEND _nvcc_log " ignoring nvlink line\n")
|
||||
|
||||
Reference in New Issue
Block a user