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-23Cleanup: use lowercase function calls & macros in for CMakeCampbell Barton
This is already the case for most CMake usage. Although some find modules are an exception to this, as they were originally maintained externally they use some different conventions. Also corrected bad indentation in: intern/cycles/CMakeLists.txt
2022-09-20CMake: fail to build with unsupported versions of wayland-scannerCampbell Barton
When WITH_GHOST_WAYLAND_DYNLOAD is enabled.
2022-09-18Build: fix gtest build flags affecting actual libraryBrecht Van Lommel
Switch to target_ functions to avoid this.
2022-09-18Build: disable gtests entirely for Python moduleBrecht Van Lommel
To avoid test failure on Windows.
2022-09-15Python: script for packing bpy module as wheelBrecht Van Lommel
The buildbot will call this script to create a binary .whl file that can be easily installed through pip. This wheel will only work with the same Python version used for Blender. Other minimum system requirements are the same as regular Blender builds. Includes contributions by Campbell Barton. Differential Revision: https://developer.blender.org/D15957
2022-09-15Python: fix failing bpy build with full release config on WindowsBrecht Van Lommel
* Fix issue with different build and install paths. * Fix issue with oneAPI kernel build. Ref D15957
2022-09-15Python: fix failing tests when building bpy moduleBrecht Van Lommel
* Use Python executable from lib folder since it's not installed. * Make bpy module test work for portable install. * Disable gtests which don't work with different Python link flags and shared library locations. Ref D15957
2022-09-14CMake: warn when "bpy" installs into the site-packages from LIBDIRCampbell Barton
Using "../lib" as a target is unlikely to be useful, add a warning & suggest alternatives.
2022-09-13Fix broken Cycles Metal build after recent changesBrecht Van Lommel
It was unable to find the Metal framework, thanks to Alaska for tracking this down.
2022-09-13Fix compilation on Linux, glibc 2.34, and CentOS librariesSergey Sharybin
A continuation of previous fix for malloc hooks which got removed from the new glibc library. The pre-compiled jemalloc has definitions which interpose hooks in glibc leading to linking errors with multiple hook definitions. A simple fix is to skip doing the workaround when using jemalloc from pre-compiled libraries. This will likely be revisited in the future, but for now it is important to fix compilation errors for developers.
2022-09-13Cleanup: improve titles for CMake sections, line lengthCampbell Barton
Also use same convention for comments as (space after #).
2022-09-13CMake: omit WITH_INSTALL_PORTABLE from bpy_module.cmakeCampbell Barton
Since this was added, Linux libraries have been included in `../lib/`. This made `make bpy` on Linux install the `bpy` module into the bundled SVN libraries which isn't very useful. Now leave WITH_INSTALL_PORTABLE unset (defaulting to ON). Python developers may reference their systems Python and disable the option if they wish for a system-wide module installation.
2022-09-13CMake: omit WITH_INSTALL_PORTABLE from the 'lite' configurationCampbell Barton
As portable is already the default, setting it meant using the lite configuration would always reset the value if was intentionally changed. This was also inconsistent as other configurations left this unset.
2022-09-13Python: update defaults for "make bpy"Campbell Barton
This was a kind of "lite" target, disabling options such as FFMPEG and ALEMBIC which may be useful to read/write data from the Python module. Now fewer options have been changed. The following options are now disabled: - Audio support (to prevent audio devices being initialized on startup). - Input device support such as NDOF and IME as there is no GUI. - Blender thumbnail extraction as it's not installed as part of the Python module. Instead of attempting to predict what is useful to enable when building as a Python module, developers can mix combine options e.g. "make bpy release" or "make bpy lite".
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-09Fix error extracting arguments from project_source_infoLoren Osborn
Output of make encounters path names that are single-quoted. This causes the path to be misinterpreted and fail validation. Resolves error in "make check_cppcheck" Ref D15801 (partially applied)
2022-08-29Build: automatically disable WITH_GHOST_WAYLAND if missing librariesBrecht Van Lommel
Same as other build options, don't make it a hard requirement to have Wayland libraries installed when it gets enabled by default. Also fixes wayland-protocols not being found on the buildbot.
2022-08-26CMake: disable IME for lite configurationCampbell Barton
2022-08-24Merge branch 'blender-v3.3-release'Brecht Van Lommel
2022-08-24Fix WITH_CYCLES_ONEAPI_BINARIES issues with make releaseBrecht Van Lommel
Fix typo in blender_release.cmake, and ensure that "make release" still works when ocloc is not available. While a fatal error is useful for debugging, the current convention is to disable features, especially in cases like this where there is no simple way to make the feature work. Differential Revision: https://developer.blender.org/D15774
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-23check_cppcheck: skip files that hang, minor improvementsCampbell Barton
- Skip text_format_pov.c & text_format_pov_ini.c which caused cppcheck to hang. - Enable '--inconclusive' checks as they can be useful.
2022-08-22Enable oneAPI AoT binaries on WindowsSergey Sharybin
2022-08-22Enable oneAPI AoT binaries on WindowsSergey Sharybin
2022-08-22check_cppcheck: update 'glew' exclusion since it's removalCampbell Barton
2022-08-18Merge branch 'blender-v3.3-release'Sergey Sharybin
2022-08-18Enable oneAPI AoT kernels for Release on LinuxSergey Sharybin
Windows still needs some work on the buildbot side, so keep that disabled for the time being.
2022-08-18CMake: always unset CMAKE_REQUIRED_* variables after useCampbell Barton
Always unset these variables after use as they could interfere with other checks made afterwards.
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-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-09Compositor: Rename compositor build optionOmar Emara
Currently, the compositor can be disabled using the WITH_COMPOSITOR build option. Since, we intent to always build the realtime compositor, we need to make the distinction between both compositors clear. So this patch renames the option to WITH_COMPOSITOR_CPU. Additionally, the check for the option was moved inside the compositor modules' own CMake file in preparation for the realtime compositor code. Differential Revision: https://developer.blender.org/D15622 Reviewed By: Jeroen Bakker, Ray Molenkamp
2022-08-09Cleanup: CMake file indentationCampbell Barton
2022-08-02CMake: Check if freetype is compiled with brotli supportSebastian Parborg
Because of the recent changes to our core fonts, Freetype has to support Woff2 fonts or Blender will segfault on startup. This adds an explicit check for this to inform people compiling Blender about this requirement.
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-26deps: FFmpeg vpx/aom-av1 updatesRay Molenkamp
This is a refresh of our current FFmpeg 5.0.0 (unchanged) version with the following changes: * libvpx all platforms: enable SSE3/4/AVX/AVX2 instruction sets. libvpx has a proper CPUID check in place and will not call the faster kernels unless it is sure the CPU supports it. So we can safely enable this, this partially resolves T95743 (completely on Linux and macOS). * libvpx Windows - threading was disabled due to a shared dependency on libwinpthreads.dll which we prefer not to distribute. However when configure cannot find pthreads it will happily fall back on a win32 threads based emulation layer. This also resolves the final part of T95743. * libaom-av1 - new dependency required for D14920, this is a somewhat odd dependency, it's cmake based, but still needs the perl environment setup, so we have to setup the env and call cmake our selves for the configure, build and install commands. This dep has the same libwinpthreads issue as vpx on Windows, however since it's cmake based, it's easier to prevent cmake from detecting it. Differential Revision: https://developer.blender.org/D15399
2022-07-22Cycles: enable oneAPI in Linux release buildsXavier Hallade
0f50ae131f54d51f778424d4c9655128cafbbefc didn't do it reliably since it was deactivated explicitly a bit above.
2022-07-08Cycles: enable oneAPI in Linux release buildsXavier Hallade
with a very high min-driver version requirement, placeholder until JIT CentOS runtime compilation issue gets fixed in a defined version. min-driver version check can be worked around by setting CYCLES_ONEAPI_ALL_DEVICES environment variable.
2022-07-06GHOST/Wayland: support dynamic loading libraries for WaylandCampbell Barton
Add intern/wayland_dynload which is used when WITH_GHOST_WAYLAND_DYNLOAD is enabled (off by default). When enabled, systems without Wayland installed will fall back to X11. This allows Blender to dynamically load: - libwayland-client - libwayland-cursor - libwayland-egl - libdecor-0 (when WITH_GHOST_WAYLAND_LIBDECOR is enabled).
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-06-28Build: when using Wayland, always enable EGL and disable system GLEWChristian Rauch
GLEW does not support GLX and EGL at the same time, and the distribution version is likely to have GLX. This also refactors the code so all OpenGL related CMake options are together. Differential Revision: https://developer.blender.org/D12034
2022-06-27GHOST/Wayland: Add a build time option for DBUS, disable by defaultCampbell Barton
Add WITH_GHOST_WAYLAND_DBUS option, so Blender can be built without DBUS support. Currently it's only used to access the cursor theme. Without this the "default" cursors are used instead. Disabling this since it adds an additional dependency for a minor gain in functionality, with the benefit of removing a library requirement. There is also a problem where Blender hangs on startup for ~5 seconds when DBUS isn't running. Eventually it would be good to be able to avoid this problem without a build option.
2022-06-24GHOST/Wayland: support client-side window decorationsChristian Rauch
This implements client-side window decorations for moving and resizing windows and HiDPI support. This functionality depends on the external project 'libdecor' that is currently a build option: WITH_GHOST_WAYLAND_LIBDECOR. Reviewed by: brecht, campbellbarton Ref D7989
2022-06-08CMake: optionally disable OBJ, STL & GPencil SVG supportCampbell Barton
The following CMake options have been added (enabled by default), except for the lite build configuration. - WITH_IO_STL - WITH_IO_WAVEFRONT_OBJ - WITH_IO_GPENCIL (for grease pencil SVG importing). Note that it was already possible to disable grease pencil export by disabling WITH_PUGIXML & WITH_HARU. This is intended to keep the lite builds fast and small for building, linking & execution. Reviewed By: iyadahmed2001, aras_p, antoniov, mont29 Ref D15141
2022-06-02Cleanup: remove "<pep8 compliant>" from headersCampbell Barton
It can be assumed that all scripts comply with basic pep8 formatting regarding white-space, indentation etc. Also remove note in best practices page & update `tests/python/pep8.py`. If we want to exclude some scripts from make format, this can be done by adding them to `ignore_files` in: source/tools/utils_maintenance/autopep8_format_paths.py Or using `# nopep8` for to ignore for individual lines. Ref T98554
2022-05-31Do not provide python libraries for linking if building python moduleCampbell Barton
When building blender as a python module, such as for inclusion in a wheel, it is not permitted to link against python libraries. This diff does so by simply unsetting the library when building blender as a python module, instead of the more heavyweight solution of switching to the cmake FindPython module. Reviewed By: LazyDodo, campbellbarton Ref D15012
2022-05-11Cleanup: spelling in comments/stringsCampbell Barton
D14918 from @linux_dr with some other changes included.
2022-05-05Win32: Dark Mode Title Bar ColorHarley Acheson
Blender will respect Windows "Dark Mode" setting for title bar color. See D14847 for details. Differential Revision: https://developer.blender.org/D14847 Reviewed by Ray Molenkamp
2022-05-05Cleanup: mark library locations as advancedCampbell Barton
2022-04-29Fix CMake error in new builds after previous NanoVDB fixBrecht Van Lommel