make license: command to update the license file

This generates a `license.md` file with all the relevant information about
the different libraries and their respecive licenses.

This should replace: THIRD-PARTY-LICENSES.txt

Important files:
* `make_license.py` (main script called by `make license`.
* `licenses.json` (file to add the definition of new licenses).
* `licenses/*/*.txt` (individual license files.

The `license.md` groups the libraries per license, list their
corresponding copyright information and include the complete license.

Code includes contributions from:
* Campbell Barton (multi-line parser for versions.cmake).
* Thomas Dinges (Windows support for `make license`).

Part of: !129018
This commit is contained in:
Dalai Felinto
2024-10-18 16:08:15 +02:00
committed by Thomas Dinges
parent 65762c880f
commit 0a4dbc57b8
39 changed files with 5522 additions and 5314 deletions

View File

@@ -123,6 +123,10 @@ Utilities
make format PATHS="source/blender/blenlib source/blender/blenkernel"
* license:
Create a combined file with all the license information relative to the libraries and other
code depedencies.
Environment Variables
* BUILD_CMAKE_ARGS: Arguments passed to CMake.
@@ -584,6 +588,8 @@ format: .FORCE
@PATH="${LIBDIR}/llvm/bin/:$(PATH)" $(PYTHON) tools/utils_maintenance/clang_format_paths.py $(PATHS)
@$(PYTHON) tools/utils_maintenance/autopep8_format_paths.py --autopep8-command="$(AUTOPEP8)" $(PATHS)
license: .FORCE
@$(PYTHON) tools/utils_maintenance/make_license.py
# -----------------------------------------------------------------------------
# Documentation