Browse Source

build,win: fix python detection script

Handle spaces in the path to python.exe, in case it is installed
under some directory like "C:\Program Files".

PR-URL: https://github.com/nodejs/node/pull/14546
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
v6
Jason Ginchereau 7 years ago
parent
commit
cee8d6d65e
  1. 2
      tools/msvs/find_python.cmd
  2. 4
      vcbuild.bat

2
tools/msvs/find_python.cmd

@ -41,7 +41,7 @@ EXIT /B 1
:validate
IF NOT EXIST "%p%python.exe" EXIT /B 1
:: Check if %p% is python2
%p%python.exe -V 2>&1 | findstr /R "^Python.2.*" > NUL
"%p%python.exe" -V 2>&1 | findstr /R "^Python.2.*" > NUL
IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
:: We can wrap it up
ENDLOCAL & SET pt=%p%& SET need_path_ext=%need_path%

4
vcbuild.bat

@ -528,7 +528,7 @@ goto exit
:run-python
call tools\msvs\find_python.cmd
if errorlevel 1 echo Could not find python2 & goto :exit
set cmd1=%VCBUILD_PYTHON_LOCATION% %*
set cmd1="%VCBUILD_PYTHON_LOCATION%" %*
echo %cmd1%
%cmd1%
exit /b %ERRORLEVEL%
@ -547,7 +547,7 @@ set TAG=
set FULLVERSION=
:: Call as subroutine for validation of python
call :run-python tools\getnodeversion.py > nul
for /F "tokens=*" %%i in ('%VCBUILD_PYTHON_LOCATION% tools\getnodeversion.py') do set NODE_VERSION=%%i
for /F "tokens=*" %%i in ('"%VCBUILD_PYTHON_LOCATION%" tools\getnodeversion.py') do set NODE_VERSION=%%i
if not defined NODE_VERSION (
echo Cannot determine current version of Node.js
exit /b 1

Loading…
Cancel
Save