0
0
forked from blender/blender
blender/build_files/cmake
Sergey Sharybin 6481bf32b3 Blender 3.3: Switch SVN to Git submodules using Git-LFS
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:
```
  * 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 library and tests data submodules are disabled by default. 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 new 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

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: Ray Molenkamp <github@lazydodo.com>

Pull Request: blender/blender#118740
2024-02-26 15:12:59 +01:00
..
config Fix WITH_CYCLES_ONEAPI_BINARIES issues with make release 2022-08-24 15:38:27 +02:00
example_scripts File headers: add missing copyright, add MIT to SPDX licenses 2022-02-11 14:56:03 +11:00
Modules Build: update 3.3 libraries to address CVEs 2023-10-09 15:49:08 +02:00
platform Blender 3.3: Switch SVN to Git submodules using Git-LFS 2024-02-26 15:12:59 +01:00
buildinfo_static.h.in CMake: configue_file() to pass strings for build-info 2020-11-06 17:26:29 +11:00
buildinfo.cmake File headers: use SPDX license for CMake files 2022-02-11 14:23:56 +11:00
clang_array_check.py Cleanup: run autopep8 on build_files/ 2022-04-20 15:08:46 +10:00
cmake_netbeans_project.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
cmake_print_build_options.py File headers: SPDX License migration 2022-02-11 09:14:36 +11:00
cmake_qtcreator_project.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
cmake_static_check_clang_array.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
cmake_static_check_cppcheck.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
cmake_static_check_smatch.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
cmake_static_check_sparse.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
cmake_static_check_splint.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
macros.cmake Blender 3.3: Switch SVN to Git submodules using Git-LFS 2024-02-26 15:12:59 +01:00
packaging.cmake Cleanup: remove unnecessary argument to else() in CMake 2022-11-02 14:57:15 +01:00
project_info.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
project_source_info.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
RpmBuild.cmake File headers: use SPDX license for CMake files 2022-02-11 14:23:56 +11:00