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
AgeCommit message (Collapse)Author
2022-09-12Fix macOS incomplete Python install after recent changesBrecht Van Lommel
After 2c23b4e0bff0 the meaning of PYTHON_LIBPATH changed.
2022-09-10Python: on macOS, stop requiring framework for building bpy moduleBrecht Van Lommel
Build against Python from precompiled libraries by default, instead of requiring framework from python.org package install. The resulting bpy module can still be used with any Python install of the same version. Use the same CMake find module as Linux. This simplifies code, and makes it possible to manually set PYTHON_* variables in CMake configuration. Remove WITH_PYTHON_FRAMEWORK option for regular Blender build, as this doesn't work well due to missing required Python packages. Advanced users can still set PYTHON_ROOT_DIR=/Library/Frameworks/Python.framework/Versions/3.10 for the same result.
2022-09-09Cleanup: cmake line length, wrappingCampbell Barton
2022-09-09CMake: exclude Python libs & batch scripts WITH_PYTHON_MODULE for WIN32Campbell Barton
2022-09-09Cleanup: check for Python module in BKE_appdir_program_path_initCampbell Barton
Replace the argument with an in ifdef in BKE_appdir_program_path_init. At the time `blenkernel` didn't define WITH_PYTHON_MODULE, since it does now there is no need for an argument. With the minor benefit of fewer preprocessor checks in the main() function.
2022-09-09Cleanup: comments, spelling, line length for creator's CMake fileCampbell Barton
2022-09-09Python: install "bpy" as a package WITH_PYTHON_MODULECampbell Barton
Building WITH_PYTHON_MODULE was creating a "bpy" module that required Blenders data-files to be located in the module search path too. This mean that a typical installation on Linux would create: - `/usr/lib/python3.10/site-packages/bpy.so` - `/usr/lib/python3.10/site-packages/3.4` (containing `scripts` & `datafiles`). The new behavior creates: - `/usr/lib/python3.10/site-packages/bpy/__init__.so` - `/usr/lib/python3.10/site-packages/bpy/3.4` With the advantage that the "bpy" directory is the self contained Python module. No changes are needed for the module loading logic as the mechanism to swap in blend internal Python "bpy" module (defined in `release/scripts/modules/bpy/__init__.py`) works the same in both instances. Thanks to Brecht for macOS support. Reviewed by brecht Ref D15911
2022-09-08Fix Blender as a Python module for WIN32Campbell Barton
BKE_appdir_program_path_init would override the module path extracted from the Python module, replacing it with the Python executable. This caused the data files not to be found and the module not to load.
2022-08-26Cleanup: reduce variable scopeCampbell Barton
2022-08-23Build: add system for shipping with dynamic libraries on Linux and macOSBrecht Van Lommel
PLATFORM_BUNDLED_LIBRARIES gathers shared libraries that will be installed to the lib/ folder. The Blender executable gets a relative rpath pointing to this folder as part of the install step. The build rpath is different and uses absolute paths, so that it works for executables like tests that are in different locations, and to support the case where the build and install folders are different. The system is already used for the OpenMP library on macOS. But on Linux it will only kick in once we start using shared libraries for dependencies. This also removes Mesa libraries from the old location, as these would cause Blender to start with software OpenGL. Ref T99618
2022-08-23Cleanup: consistent variable names for install target directoriesBrecht Van Lommel
2022-08-18CMake: support building with musl libclistout
Instead of using macros like GLIBC we can use the CMake build systems internal functions to check if some header or functions are present on the running system's libc. Add ./build_files/cmake/have_features.cmake to add checks for platform features which can be used to set defines for source files that require them. Reviewed By: campbellbarton Ref D15696
2022-08-16Support Ctrl-C to cancel rendering with headless buildsCampbell Barton
The original intention from [0] was to force background-mode when built WITH_HEADLESS or WITH_PYTHON_MODULE, with the else clause setting the signal handler for Ctrl-C. Since WITH_PYTHON_MODULE now disables all signal handlers this check no longer makes sense. [0]: 9d9c05a10106ea08cf5082633a5dd0a007d860ba
2022-08-15Cleanup OpenGL linking and related code after libepoxy mergeSebastian Parborg
This cleans up the OpenGL build flags and linking. It additionally also removes some dead code. One of these dead code paths is WITH_X11_ALPHA which actually never was active even with the build flag on. The call to use this was never called because the default initializer for GHOST was set to have it off per default. Nothing called this function with a boolean value to enable it. These cleanups are needed to support true headless OpenGL rendering. Without these cleanups libepoxy will fail to load the correct OpenGL Libraries as we have already linked them to the blender binary. Reviewed By: Brecht, Campbell, Jeroen Differential Revision: http://developer.blender.org/D15554
2022-08-15GPU: replace GLEW with libepoxyChristian Rauch
With libepoxy we can choose between EGL and GLX at runtime, as well as dynamically open EGL and GLX libraries without linking to them. This will make it possible to build with Wayland, EGL, GLVND support while still running on systems that only have X11, GLX and libGL. It also paves the way for headless rendering through EGL. libepoxy is a new library dependency, and is included in the precompiled libraries. GLEW is no longer a dependency, and WITH_SYSTEM_GLEW was removed. Includes contributions by Brecht Van Lommel, Ray Molenkamp, Campbell Barton and Sergey Sharybin. Ref T76428 Differential Revision: https://developer.blender.org/D15291
2022-08-09Cleanup: CMake file indentationCampbell Barton
2022-07-29Merge branch 'blender-v3.3-release'Brecht Van Lommel
2022-07-29Build: hide all symbols except a few required ones on LinuxBrecht Van Lommel
Instead of specifying which symbols to hide, we hide all and make a few visible. Some users may be relying on calling internal Blender functions, but Windows is already hiding all of them and this is just not supported. Fixes T99900: crash with some third-party Python libraries since OneAPI Ref T76442 Differential Revision: https://developer.blender.org/D14971
2022-07-28Cleanup: unused headerCampbell Barton
2022-07-08Linux: Move Mesa software OpenGL libraries to sub-directorySergey Sharybin
Allows to put libraries which are always needed by Blender into the lib/ folder and not worry about OpenGL libraries picked up from there. Currently no functional changes as we do not yet have dynamic libraries which we load at startup. It allows to use direct linking of oneAPI Cycles device (see D15397), also it is something which would need to happen to support USD/Hydra/TBB compiler as dynamic libraries in the future. Differential Revision: https://developer.blender.org/D15403
2022-06-29Cycles: Add support for rendering on Intel GPUs using oneAPIXavier Hallade
This patch adds a new Cycles device with similar functionality to the existing GPU devices. Kernel compilation and runtime interaction happen via oneAPI DPC++ compiler and SYCL API. This implementation is primarly focusing on Intel® Arc™ GPUs and other future Intel GPUs. The first supported drivers are 101.1660 on Windows and 22.10.22597 on Linux. The necessary tools for compilation are: - A SYCL compiler such as oneAPI DPC++ compiler or https://github.com/intel/llvm - Intel® oneAPI Level Zero which is used for low level device queries: https://github.com/oneapi-src/level-zero - To optionally generate prebuilt graphics binaries: Intel® Graphics Compiler All are included in Linux precompiled libraries on svn: https://svn.blender.org/svnroot/bf-blender/trunk/lib The same goes for Windows precompiled binaries but for the graphics compiler, available as "Intel® Graphics Offline Compiler for OpenCL™ Code" from https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html, for which path can be set as OCLOC_INSTALL_DIR. Being based on the open SYCL standard, this implementation could also be extended to run on other compatible non-Intel hardware in the future. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D15254 Co-authored-by: Nikita Sirgienko <nikita.sirgienko@intel.com> Co-authored-by: Stefan Werner <stefan.werner@intel.com>
2022-04-20Build: updates for Blender to build against new 3.2 librariesBrecht Van Lommel
Building against the existing 3.1 libraries should continue to work, until the precompiled libraries are committed for all platforms. * Enable WebP by default. * Update Windows for new library file names. * Automatically clear outdated CMake cache variables when upgrading to new libraries. * Fix static library linking order issues on Linux for OpenEXR and OpenVDB. Implemented by Ray Molenkamp, Sybren Stüvel and Brecht Van Lommel. Ref T95206
2022-04-18Add debugging info for Wintab activated by argument `--debug-wintab`.Nicholas Rishel
Bonus: Added docs for `--debug-ghost`. Differential Revision: https://developer.blender.org/D14610
2022-04-05Cleanup: fix various typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D14443
2022-04-04Cleanup: ensure space after file named in headersCampbell Barton
Add blank lines after file references to avoid them being interpreted as doc-strings the following declarations.
2022-03-25Docs: include WEBP in --help textCampbell Barton
2022-03-24Cleanup: use "filepath" instead of "filename" for full pathsCampbell Barton
Reserve "filename" when only the name component is used.
2022-03-21Cleanup: add image_format.cc for functions related to ImageFormatDataBrecht Van Lommel
Also fixes missing code to read/write/free/copy color management settings in various places. This can't be set through the UI currently, but still should be handled consistently.
2022-03-18EEVEE: Add new experimental "EEVEE Next" optionClément Foucault
This is supposed to hold the latest improvement from the EEVEE rewrite branch. Note that a restart is necessary in order for the engine to appear. The registration code is a bit convoluted as it needs to be after the WM_init.
2022-03-09Cleanup: use ELEM macroCampbell Barton
2022-03-02Cmake: Re-enable Amaranth add-onAaron Carlisle
This add-on now conforms to the distribution requirements, see: T95442.
2022-03-01Cmake: Re-enable tiny cad add-onAaron Carlisle
This add-on now conforms to the distribution requirements, see: T95442.
2022-03-01Merge branch 'blender-v3.1-release'Aaron Carlisle
2022-03-01Cmake: Re-enable tissue add-onAaron Carlisle
This add-on now conforms to the distribution requirements, see: T95442.
2022-02-28Merge branch 'blender-v3.1-release'Aaron Carlisle
2022-02-28Cmake: Re-enable real snow add-onAaron Carlisle
This add-on now conforms to the distribution requirements, see: T95442.
2022-02-25Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-25CMake: exclude add-ons that don't confirm to key requirementsCampbell Barton
These add-ons don't have documentation on blender.org, see: T95442 These can be re-enabled once documentation has been relocated.
2022-02-16macOS/bpy module: install text files correctlyAnkit Meel
Instead of Blender.app (despite building bpy), install license etc in `Resources/text` of bpy install location. Part of D14111
2022-02-16macOS/bpy module: install scripts relative to bpy.soAnkit Meel
Brew's Python framework's site-packages is a symlink so the assumption that Resources and site-packages would be in the same directory doesn't hold. So install scripts etc relative to bpy.so. Part of D14111
2022-02-15CMake: create readme.html with configure_fileAnkit Meel
Since the output file stays unmodified for most developer builds, install step installed it redundantly. Create readme.html using `configure_file`: - Now it's modified only if final output changes (handled by CMake). - If input file (from git) or blender version changes, it //will// be modified. Also don't re-implement what CMake can do. Reviewed By: campbellbarton, LazyDodo Differential Revision: https://developer.blender.org/D13863
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-08Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-07Fix T95502: macOS app has both python 3.9 and 3.10 executablesBrecht Van Lommel
2022-02-06Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-05GPU: Enable CLOG for gpu when `--debug-gpu` option is setClément Foucault
This is because all of the debug printing is done through CLog now. Without it the is little point in this option.
2022-02-04macOS: support building blender-thumbnailerAnkit Meel
It was missing framework flags added in `setup_platform_linker_flags`. Keep it off until QuickLook Thumbnailing is implemented. Differential Revision: https://developer.blender.org/D13997
2022-01-27CMake/Linux/Python:copy either `chardet` or `charset_normalizer`Sybren A. Stüvel
`chardet` was replaced by `charset_normalizer` for modern `requests`. With this change, `{make,ninja} install` will also copy the latter into Blender's install directory.
2022-01-24Fix T95099: Have launcher wait for Blender exitJens Ehrhardt
unity launches blender in background mode to do some file conversions, ever since the launcher got introduced this process broke. The root cause here is: Unity looks up the default program to launch .blend files with, which is now the launcher, then launches it in background mode with a script to export the data. The launcher however was designed to exit as quickly as possible so there would not be an extra background process lingering. It does not wait for blender to exit and does not pass back any error codes. This broke unity's workflow since it assumed if the process exits and succeeds the data *must* be ready for reading which no longer holds true. This change keeps the launcher design as was previously, *except* when launching in background mode, then it waits and passes back any error codes, thus restoring unity's workflow. Differential Revision: https://developer.blender.org/D13894 Reviewed by: LazyDodo, Brecht
2022-01-18CMake: Fix using numpy variable for the zstandard pathCampbell Barton
Copy paste error in a5917175d8c1a7cab83b401ae2f4affcd4ab8df4.