mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
CMakeParseImplicitLinkInfo: Fix detection of MSVC link.exe from quoted path
If the path to `link.exe` is not converted to a Windows short path, then it may be quoted. Issue: #16138
This commit is contained in:
@@ -119,7 +119,7 @@ function(cmake_parse_implicit_link_info2 text log_var obj_regex)
|
||||
if("${line}" MATCHES " --with-ld=([^ ]+/${linker})( |$)")
|
||||
set(linker_tool_fallback "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
elseif("${line}" MATCHES "vs_link.*-- +([^\"]*[/\\](${linker})) ") # cmake -E vs_link_exe
|
||||
elseif("${line}" MATCHES "vs_link.*-- +\"?([^\"]*[/\\](${linker}))\"? ") # cmake -E vs_link_exe
|
||||
set(linker_tool "${CMAKE_MATCH_1}")
|
||||
elseif("${line}" MATCHES "${linker_tool_regex}")
|
||||
set(linker_tool "${CMAKE_MATCH_2}")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
CMAKE_LANG=C
|
||||
CMAKE_LINKER=C:/Program Files/Microsoft Visual Studio/18/Professional/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/link.exe
|
||||
CMAKE_C_COMPILER_ABI=
|
||||
CMAKE_C_COMPILER_AR=
|
||||
CMAKE_C_COMPILER_ARCHITECTURE_ID=x64
|
||||
CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN=
|
||||
CMAKE_C_COMPILER_ID=MSVC
|
||||
CMAKE_C_COMPILER_LAUNCHER=
|
||||
CMAKE_C_COMPILER_LOADED=1
|
||||
CMAKE_C_COMPILER_RANLIB=
|
||||
CMAKE_C_COMPILER_TARGET=
|
||||
CMAKE_C_COMPILER_VERSION=19.50.35724.0
|
||||
CMAKE_C_COMPILER_VERSION_INTERNAL=
|
||||
CMAKE_HOST_SYSTEM_NAME=Windows
|
||||
Change Dir: 'C:/DoesNotExist/Temp/CMakeFiles/CMakeTmp'
|
||||
|
||||
Run Build Command(s): C:/DoesNotExist/ninja/bin/ninja.exe -v cmTC_42252
|
||||
[1/2] "C:\Program Files\Microsoft Visual Studio\18\Professional\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\cl.exe" /nologo -D_MBCS /DWIN32 /D_WINDOWS /W3 /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /FoCMakeFiles\cmTC_42252.dir\CMakeCCompilerABI.c.obj /FdCMakeFiles\cmTC_42252.dir\ /FS -c "C:\DoesNotExist\CMake\Modules\CMakeCCompilerABI.c"
|
||||
[2/2] C:\WINDOWS\system32\cmd.exe /C "cd . && "C:\DoesNotExist\CMake\build\bin\cmake.exe" -E vs_link_exe --msvc-ver=1950 --intdir=CMakeFiles\cmTC_42252.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\mt.exe" --manifests -- "C:\Program Files\Microsoft Visual Studio\18\Professional\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\link.exe" /nologo CMakeFiles\cmTC_42252.dir\CMakeCCompilerABI.c.obj /out:cmTC_42252.exe /implib:cmTC_42252.lib /pdb:cmTC_42252.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
|
||||
@@ -0,0 +1,19 @@
|
||||
CMAKE_LANG=CXX
|
||||
CMAKE_LINKER=C:/Program Files/Microsoft Visual Studio/18/Professional/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/link.exe
|
||||
CMAKE_CXX_COMPILER_ABI=
|
||||
CMAKE_CXX_COMPILER_AR=
|
||||
CMAKE_CXX_COMPILER_ARCHITECTURE_ID=x64
|
||||
CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN=
|
||||
CMAKE_CXX_COMPILER_ID=MSVC
|
||||
CMAKE_CXX_COMPILER_LAUNCHER=
|
||||
CMAKE_CXX_COMPILER_LOADED=1
|
||||
CMAKE_CXX_COMPILER_RANLIB=
|
||||
CMAKE_CXX_COMPILER_TARGET=
|
||||
CMAKE_CXX_COMPILER_VERSION=19.50.35724.0
|
||||
CMAKE_CXX_COMPILER_VERSION_INTERNAL=
|
||||
CMAKE_HOST_SYSTEM_NAME=Windows
|
||||
Change Dir: 'C:/DoesNotExist/Temp/CMakeFiles/CMakeTmp'
|
||||
|
||||
Run Build Command(s): C:/DoesNotExist/ninja/bin/ninja.exe -v cmTC_6fe1d
|
||||
[1/2] "C:\Program Files\Microsoft Visual Studio\18\Professional\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\cl.exe" /nologo /TP -D_MBCS /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /FoCMakeFiles\cmTC_6fe1d.dir\CMakeCXXCompilerABI.cpp.obj /FdCMakeFiles\cmTC_6fe1d.dir\ /FS -c "C:\DoesNotExist\CMake\Modules\CMakeCXXCompilerABI.cpp"
|
||||
[2/2] C:\WINDOWS\system32\cmd.exe /C "cd . && "C:\DoesNotExist\CMake\build\bin\cmake.exe" -E vs_link_exe --msvc-ver=1950 --intdir=CMakeFiles\cmTC_6fe1d.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\mt.exe" --manifests -- "C:\Program Files\Microsoft Visual Studio\18\Professional\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\link.exe" /nologo CMakeFiles\cmTC_6fe1d.dir\CMakeCXXCompilerABI.cpp.obj /out:cmTC_6fe1d.exe /implib:cmTC_6fe1d.lib /pdb:cmTC_6fe1d.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
|
||||
@@ -62,6 +62,7 @@ set(targets
|
||||
sunos5.11_i386-C-GNU-5.5.0 sunos5.11_i386-CXX-GNU-5.5.0 sunos5.11_i386-Fortran-GNU-5.5.0
|
||||
windows_x86_64-C-MSVC-19.36.32543.0 windows_x86_64-CXX-MSVC-19.36.32543.0
|
||||
windows_x86_64-C-MSVC-19.38.33130.0-VS windows_x86_64-CXX-MSVC-19.38.33130.0-VS
|
||||
windows_x86_64-C-MSVC-19.50.35724.0 windows_x86_64-CXX-MSVC-19.50.35724.0
|
||||
windows_x86_64-C-Clang-17.0.1-MSVC windows_x86_64-CXX-Clang-17.0.1-MSVC windows_x86_64-Fortran-LLVMFlang-17.0.1-MSVC
|
||||
windows_x86_64-Fortran-LLVMFlang-18.0.0-MSVC
|
||||
windows_x86_64-C-Intel-2021.9.0.20230302 windows_x86_64-CXX-Intel-2021.9.0.20230302 windows_x86_64-Fortran-Intel-2021.9.0.20230302
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
libs=
|
||||
dirs=
|
||||
linker_tool=C:/Program Files/Microsoft Visual Studio/18/Professional/VC/Tools/MSVC/14\.50\.35717/bin/Hostx64/x64/link\.exe
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
libs=
|
||||
dirs=
|
||||
linker_tool=C:/Program Files/Microsoft Visual Studio/18/Professional/VC/Tools/MSVC/14\.50\.35717/bin/Hostx64/x64/link\.exe
|
||||
Reference in New Issue
Block a user