Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Molenkamp <github@lazydodo.com>2022-01-25 19:19:03 +0300
committerRay Molenkamp <github@lazydodo.com>2022-01-25 19:19:03 +0300
commitf26c36c96b56b1cce159fb86c22bf657a094ad99 (patch)
tree5f01c036ad432616d7d6af514e62712c99a728e6
parentc813a1b3583e9a3bf17c75e16995ebadb046361a (diff)
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.
-rw-r--r--build_files/windows/find_dependencies.cmd29
-rw-r--r--build_files/windows/format.cmd12
-rw-r--r--build_files/windows/icons.cmd16
-rw-r--r--build_files/windows/icons_geom.cmd16
-rw-r--r--build_files/windows/update_sources.cmd9
-rw-r--r--make.bat11
6 files changed, 45 insertions, 48 deletions
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.
diff --git a/make.bat b/make.bat
index d55b2cfd1b3..ff8059b0754 100644
--- a/make.bat
+++ b/make.bat
@@ -13,6 +13,9 @@ if errorlevel 1 goto EOF
call "%BLENDER_DIR%\build_files\windows\parse_arguments.cmd" %*
if errorlevel 1 goto EOF
+call "%BLENDER_DIR%\build_files\windows\find_dependencies.cmd"
+if errorlevel 1 goto EOF
+
REM if it is one of the convenience targets and BLENDER_BIN is set
REM skip compiler detection
if "%ICONS%%ICONS_GEOM%%DOC_PY%" == "1" (
@@ -21,9 +24,6 @@ if "%ICONS%%ICONS_GEOM%%DOC_PY%" == "1" (
)
)
-call "%BLENDER_DIR%\build_files\windows\find_dependencies.cmd"
-if errorlevel 1 goto EOF
-
if "%BUILD_SHOW_HASHES%" == "1" (
call "%BLENDER_DIR%\build_files\windows\show_hashes.cmd"
goto EOF
@@ -88,6 +88,11 @@ if "%DOC_PY%" == "1" (
goto EOF
)
+if "%CMAKE%" == "" (
+ echo Cmake not found in path, required for building, exiting...
+ exit /b 1
+)
+
echo Building blender with VS%BUILD_VS_YEAR% for %BUILD_ARCH% in %BUILD_DIR%
call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd"