From f26c36c96b56b1cce159fb86c22bf657a094ad99 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Tue, 25 Jan 2022 09:19:03 -0700 Subject: make.bat: unify python detection Several sub commands tried on their own to locate python, given I wanted to look in several locations for a broader libdir compatibility this is best done in a central location. Python 3.9 is still preferred, but if 3.10-3.12 are available that be accepted as well. note: this is about the python version make.bat uses to run various python helper scripts, this change has no influence on the python version blender itself uses. --- build_files/windows/find_dependencies.cmd | 29 +++++++++++++++++++++++++---- build_files/windows/format.cmd | 12 +++--------- build_files/windows/icons.cmd | 16 +++------------- build_files/windows/icons_geom.cmd | 16 +++------------- build_files/windows/update_sources.cmd | 9 +++------ 5 files changed, 37 insertions(+), 45 deletions(-) (limited to 'build_files') diff --git a/build_files/windows/find_dependencies.cmd b/build_files/windows/find_dependencies.cmd index 9fa3b156a4f..fec2bd2e752 100644 --- a/build_files/windows/find_dependencies.cmd +++ b/build_files/windows/find_dependencies.cmd @@ -3,7 +3,32 @@ for %%X in (svn.exe) do (set SVN=%%~$PATH:X) for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X) for %%X in (ctest.exe) do (set CTEST=%%~$PATH:X) for %%X in (git.exe) do (set GIT=%%~$PATH:X) +REM For python, default on 39 but if that does not exist also check +REM the 310,311 and 312 folders to see if those are there, it checks +REM this far ahead to ensure good lib folder compatiblity in the future. set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe +if EXIST %PYTHON% ( + goto detect_python_done +) +set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\310\bin\python.exe +if EXIST %PYTHON% ( + goto detect_python_done +) +set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\311\bin\python.exe +if EXIST %PYTHON% ( + goto detect_python_done +) +set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\312\bin\python.exe +if EXIST %PYTHON% ( + goto detect_python_done +) + +if NOT EXIST %PYTHON% ( + echo Warning: Python not found, there is likely an issue with the library folder + set PYTHON="" +) + +:detect_python_done if NOT "%verbose%" == "" ( echo svn : "%SVN%" echo cmake : "%CMAKE%" @@ -11,7 +36,3 @@ if NOT "%verbose%" == "" ( echo git : "%GIT%" echo python : "%PYTHON%" ) -if "%CMAKE%" == "" ( - echo Cmake not found in path, required for building, exiting... - exit /b 1 -) diff --git a/build_files/windows/format.cmd b/build_files/windows/format.cmd index d5003c9f8d8..95440cb1818 100644 --- a/build_files/windows/format.cmd +++ b/build_files/windows/format.cmd @@ -9,17 +9,11 @@ exit /b 1 :detect_done echo found clang-format in %CF_PATH% -if EXIST %PYTHON% ( - set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe - goto detect_python_done +if NOT EXIST %PYTHON% ( + echo python not found, required for this operation + exit /b 1 ) -echo python not found in lib folder -exit /b 1 - -:detect_python_done -echo found python (%PYTHON%) - set FORMAT_PATHS=%BLENDER_DIR%\source\tools\utils_maintenance\clang_format_paths.py REM The formatting script expects clang-format to be in the current PATH. diff --git a/build_files/windows/icons.cmd b/build_files/windows/icons.cmd index d51b27d8953..9390ccf827c 100644 --- a/build_files/windows/icons.cmd +++ b/build_files/windows/icons.cmd @@ -1,18 +1,8 @@ -if EXIST "%PYTHON%" ( - goto detect_python_done +if NOT EXIST %PYTHON% ( + echo python not found, required for this operation + exit /b 1 ) -set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe -if EXIST %PYTHON% ( - goto detect_python_done -) - -echo python not found at %PYTHON% -exit /b 1 - -:detect_python_done -echo found python (%PYTHON%) - call "%~dp0\find_inkscape.cmd" if EXIST "%INKSCAPE_BIN%" ( diff --git a/build_files/windows/icons_geom.cmd b/build_files/windows/icons_geom.cmd index 18312daf35b..4cb3bf5b4df 100644 --- a/build_files/windows/icons_geom.cmd +++ b/build_files/windows/icons_geom.cmd @@ -1,18 +1,8 @@ -if EXIST %PYTHON% ( - goto detect_python_done +if NOT EXIST %PYTHON% ( + echo python not found, required for this operation + exit /b 1 ) -set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe -if EXIST %PYTHON% ( - goto detect_python_done -) - -echo python not found at %PYTHON% -exit /b 1 - -:detect_python_done -echo found python (%PYTHON%) - call "%~dp0\find_blender.cmd" if EXIST "%BLENDER_BIN%" ( diff --git a/build_files/windows/update_sources.cmd b/build_files/windows/update_sources.cmd index f8fbd383090..f99ce43f40f 100644 --- a/build_files/windows/update_sources.cmd +++ b/build_files/windows/update_sources.cmd @@ -1,10 +1,7 @@ -if EXIST %PYTHON% ( - goto detect_python_done +if NOT EXIST %PYTHON% ( + echo python not found, required for this operation + exit /b 1 ) - -echo python not found in lib folder -exit /b 1 - :detect_python_done REM Use -B to avoid writing __pycache__ in lib directory and causing update conflicts. -- cgit v1.2.3