3dc832a904
This change makes it so build system and update utilities for Blender builds
are using pre-compiled libraries and other resources attached as Git modules
instead of using checkout of SVN repositories in the parent folder.
The directory layout:
```
* release/datafiles/
* assets/ -> blender-assets.git
* publish/
* ...
* README.txt
* lib/
* darwin_x64/ -> lib-darwin_x64.git
* darwin_arm64/ -> lib-darwin_arm64.git
* linux_x64/ -> lib-linux_x64.git
* windows_x64/ -> lib-windows_x64.git
* tests/
* data/ -> blender-test-data.git
```
The changes about configuring the actual Git sub-modules are not included
into this patch, as those require repository to actually exist before it
can be used.
The assets submodule is enabled by default, and the rest of them are
disabled. This means that if someone runs `git submodule update --init`
they will not get heavy libraries. The platform-specific and tests
related submodules are enabled when using `make update` or `make test`.
All the submodules are tracked: this means that when new commits are
done to the submodule, the blender.git repository is to be updated to
point them to the new hash. This causes some extra manual work, but it
allows to more easily update Blender and its dependencies to known good
state when performing operations like bisect.
Ref #108978
Pull Request: https://projects.blender.org/blender/blender/pulls/117946
38 lines
1.2 KiB
Batchfile
38 lines
1.2 KiB
Batchfile
REM find all dependencies and set the corresponding environment variables.
|
|
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 310 but if that does not exist also check
|
|
REM the 311, 312 and finally 39 folders to see if those are there, it checks
|
|
REM this far ahead to ensure good lib folder compatibility in the future
|
|
REM it falls back to 3.9 just incase it is a very old lib folder.
|
|
set PYTHON=%BLENDER_DIR%\lib\windows_x64\python\310\bin\python.exe
|
|
if EXIST %PYTHON% (
|
|
goto detect_python_done
|
|
)
|
|
set PYTHON=%BLENDER_DIR%\lib\windows_x64\python\311\bin\python.exe
|
|
if EXIST %PYTHON% (
|
|
goto detect_python_done
|
|
)
|
|
set PYTHON=%BLENDER_DIR%\lib\windows_x64\python\312\bin\python.exe
|
|
if EXIST %PYTHON% (
|
|
goto detect_python_done
|
|
)
|
|
set PYTHON=%BLENDER_DIR%\lib\windows_x64\python\39\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 cmake : "%CMAKE%"
|
|
echo ctest : "%CTEST%"
|
|
echo git : "%GIT%"
|
|
echo python : "%PYTHON%"
|
|
)
|