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
2020-10-02Fix invalid version check in 'project_source_info'Campbell Barton
Own error in 870fcb3857ba36986d1d44ab4ac519897f8fb264
2020-10-02Cleanup: pep8 (indentation, spacing, long lines)Campbell Barton
2020-10-02Cleanup: pep8, blank linesCampbell Barton
2020-10-02Cleanup: trailing spaceCampbell Barton
2020-09-28Cleanup: CMake/FFmpeg: Fix typo in message/commentAnkit Meel
Code added in the last commit {rB2fdbe4d0501114c716fd12bc}.
2020-09-28CMake/Find packages: add FindFFmpeg.cmake module.Ankit Meel
The behaviour is a bit different from other find modules: `FFMPEG_FIND_COMPONENTS` should contain the list of required libraries before calling `find_package(FFmpeg)`. If not set, a default set of most common libraries is searched for: `avcodec avdevice avfilter avformat avutil` http://ffmpeg.org/download.html Ref D8855 Reviewed By: brecht Differential Revision: https://developer.blender.org/D8918
2020-09-26Revert "Generate Xcode scheme files during configuration."Ankit Meel
This reverts commit 5eb5978043c8e7036e15572e. The change was problematic: *Advanced users may prefer managing schemes manually and adding only a few that they need, instead of one for every library/executable Blender builds. *If CMake creates schema files, it overwrites the changes a developer made every time CMake is run. If Xcode creates scheme files, it keeps settings/ environment variables intact. If someone runs CMake very frequently, pass `-DCMAKE_XCODE_GENERATE_SCHEME=ON` to `cmake` while configuring.
2020-09-26Cleanup: CMake config: set options in alphabetical olderAnkit Meel
No functional change.
2020-09-26CMake: Remove duplicate WITH_GMP options.Ankit Meel
I didn't realize there were more duplicates while committing {rBf1fee433be92}. Original was added in {rB83f8223543f58c3b0881a03b6e9ddffff91}. Duplicate was added in the merge {rB9e09b5c418c0a436e3c84ccf}. Ref D8822
2020-09-24Fixup for license changesDalai Felinto
There was still a cmake file that was explicitly referring to the GPL3 license. This was failing only on Windows.
2020-09-24GMP/CMake: Remove duplicate GMP search logic.Ankit Meel
Original was added in rB83f8223543f58c3b0881a03b6e9ddffff91. Duplicate was added in the merge rB9e09b5c418c0a436e3c84ccf. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8822
2020-09-22CMake: Enable WITH_POTRACE by defaultRay Molenkamp
All platforms have landed the libs, this can be on by default now.
2020-09-18Fix T78793, T79707: Cycles crash on macOS with older CPUsBrecht Van Lommel
Embree static libraries need additional linking flags to avoid SSE and AVX symbols getting mixed up.
2020-09-18CMake/LLVM: Add INCLUDE_DIRS to find package.Ankit Meel
Ref {D8855} Reviewed By: brecht Differential Revision: https://developer.blender.org/D8919
2020-09-18CMake/OpenSubdiv: Rename INCLUDE_DIR -> INCLUDE_DIRS.Ankit Meel
Ref {D8855} Unix and Apple platform files use find_package(OpenSubdiv) which sets `OPENSUBDIV_INCLUDE_DIR` as an advanced variable, as well as `OPENSUBDIV_INCLUDE_DIRS` which should be used usually. Windows sets `OPENSUBDIV_INCLUDE_DIR` which is used by the rest of the code. This patch renames it to `_DIRS` everywhere, for it to be like other similar variables. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8917
2020-09-17macOS: Added potrace in platform apple cmakeSebastián Barschkis
Ref T80818 Reviewed By: brecht Maniphest Tasks: T80818 Differential Revision: https://developer.blender.org/D8922
2020-09-17CMake/Potrace: Fix capitalization, silence warning.Ankit Meel
The `find_package()` callers expect the library name as `Potrace`, not `POTRACE`. Reviewed By: LazyDodo Differential Revision: https://developer.blender.org/D8923
2020-09-17Tests: bundle tests for some modules in their own executablesBrecht Van Lommel
The ffmpeg, guardedalloc and blenlib are quite isolated and putting them in their own executable separate from blender_test is faster for development than linking the entire blender_tests executable. For Cycles, this also bundles all the unit tests into one executable. Ref T79958 Differential Revision: https://developer.blender.org/D8714
2020-09-17CMake: clean up setting of platform specific linker flagsBrecht Van Lommel
Set flags directly on the target, and use common function for all cases. This refactoring helps with the next commit for test executables. Ref D8714
2020-09-15ASan/macOS: fix incomplete C/CXX compiler flags.Ankit Meel
While testing for {rB40dcf686f04f}, compiler flags got mixed up and non-working ASan configuration was committed. Platform file, which is `include`d after the `CMAKE_C_FLAGS_DEBUG` etc., are set, overwrites those flags instead of appending to them. To fix this, `PLATFORM_CFLAGS` is used to pass the `-fsanitize=*` flags to the C/C++ compiler. Tested on fresh build using both Xcode and Ninja, with & without ccache. Also silence a clang warning for multi-config generators: the object size sanitizer has no effect at -O0, but is explicitly enabled: -fsanitize=object-size [-Winvalid-command-line-argument] Reviewed By: brecht Differential Revision: https://developer.blender.org/D8879
2020-09-15Deps: Add potrace as a new library dependencyRay Molenkamp
For work the GP team plans to land soon (T79877) potrace was taken on as an additional optional dependency. This diff adds building the library to the deps builder and takes care of the integration into the build-system with the `WITH_POTRACE` cmake switch. Differential Revision: https://developer.blender.org/D8662 Reviewed by: brecht, sergey
2020-09-10CMake: various fixes for building Python moduleTyler Alden Gubala
* Don't link against Mesa OpenGL software emulation libraries from the lib folder, they are not intended to be used for building, only install. * Don't use static OpenMP library by default, it's usually not built to work in shared libraries. * Disable jemalloc on all platforms, the reason it fails is not specific to Linux. Differential Revision: https://developer.blender.org/D8827
2020-09-08Cleanup: tabs to spacesCampbell Barton
2020-09-07Generate Xcode scheme files during configuration.Ankit
Every time CMake is re-run, Xcode shows a popup asking if user wants to manage schemes automatically or manually. Building Blender wiki page recommends managing schemes automatically. This change sets the default behavior to "automatically" and generates the .xcscheme files while CMake is running, instead of hogging Xcode later on. With tests enabled, the number of schemes is 203. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8820
2020-09-07Cleanup: change Python version checks to include newer versionsCampbell Barton
2020-09-03MSVC: Fix cmake warnings with MSVC updatesRay Molenkamp
CMake caches the location of the CRT runtime in the MSVC_REDIST_DIR variable, and uses it to copy the required dll's during the install phase. This variable is only initialized when it does not exist. Leading to issues when compiler updates are installed and the compiler version slightly changes, cmake still looks in the old location for the runtime and warns about the files not existing. This change fixes the issue by checking if the redist dir exists and if not unsets it so InstallRequiredSystemLibraries can have another go at figuring out where they live.
2020-09-01CMake: Fix linking errors with gmp librarySergey Sharybin
gmpxx library (C++ version of gmp) uses symbols from libgmp, which means the libgmp is to be passed to the linker after libgmpxx.
2020-08-31cleanup: Fix GMP spacing in cmake configurationsRay Molenkamp
It now follows the spacing around it.
2020-08-28Change cmake configs for full and release to enable WITH_GMP.Howard Trickey
2020-08-28Merge newboolean branch into master.Howard Trickey
This is for design task T67744, Boolean Redesign. It adds a choice of solver to the Boolean modifier and the Intersect (Boolean) and Intersect (Knife) tools. The 'Fast' choice is the current Bmesh boolean. The new 'Exact' choice is a more advanced algorithm that supports overlapping geometry and uses more robust calculations, but is slower than the Fast choice. The default with this commit is set to 'Exact'. We can decide before the 2.91 release whether or not this is the right choice, but this choice now will get us more testing and feedback on the new code.
2020-08-27Fix: FindEmbree.cmake looking for non existing dynamic libraries and failingSebastian Parborg
It is now possible to build against a shared embree library. Before it was only possible to build against static Embree libraries. Reviewed By: Brecht Differential Revision: http://developer.blender.org/D8702
2020-08-27Cleanup: Fix build warning with MSVC and OSLRay Molenkamp
OSL requires RTTI to be off, this is done with the /GR- flag for MSVC, however /GR is in the default CXX flags leading to warning D9025 : overriding '/GR' with '/GR-' which cannot be suppressed. /GR is on by default and this flag is not required, so removing it from the default CXX flags makes it possible later use /GR- without generating warnings.
2020-08-20Silence `-Wmaybe-uninitialized` warning on GCC/LinuxSybren A. Stüvel
Add `-Wno-maybe-uninitialized` option to `CMAKE_CXX_FLAGS_RELEASE` and `CMAKE_CXX_FLAGS_RELWITHDEBINFO` variables on GCC/Linux. In Release builds GCC's `-Wmaybe-uninitialized` warning is unreliable, and thus causes noise that can drown out other warnings. These warnings are now silenced in release mode builds.a Debug builds seem fine, so flags for debug builds are not touched by this commit. No functional changes. Reviewed By: Sergey Differential Revision: https://developer.blender.org/D8615
2020-08-14Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-13Deps_builder: Update openvdb to a dynamic libraryRay Molenkamp
This patch changes openvdb from a static to a dynamic library. this is in preparation for enabling pyopenvdb at some point in the future. Differential Revision: https://developer.blender.org/D8282 Reviewed by: brecht
2020-08-13Fix T78065: OSL shader compilation fails on macOSBrecht Van Lommel
2020-08-12Merge branch 'blender-v2.90-release'Brecht Van Lommel
2020-08-12CMake: clarify that the modules are licensed BSD 3-ClauseBrecht Van Lommel
Many of these are derived from similar modules in the CMake project, which have this license. Fixes T79715
2020-08-07Cleanup: CMake warnings related to "find package" modulesSebastian Parborg
Fix package name missmatch in a few module files. IE "ALEMBIC" was defined in the file but the find_package commands used "Alembic" Some modules state that they set and use the _LIBRARY variable but the do in fact not do this. Removed these comments from those files.
2020-08-03Merge branch 'blender-v2.90-release'Bastien Montagne
2020-08-03Building: Add ceres to Ninja's heavy jobs pool.Bastien Montagne
Some files in this library require more than 1.5Gb to build, so they also belong to the 'heavy' pool.
2020-07-31Deps builder: Add support for building GMPRay Molenkamp
Required for the new boolean code, disabled by default until all platforms have landed the libs and the boolean code actually lands in master. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8384
2020-07-31Fix blender_test runner build on the buildbot on Linux and macOSBrecht Van Lommel
Add our own copy of the gtest discovery scripts from CMake a few reasons: * Use the very latest version which supports PRE_TEST for Windows * Fix usage of [] symbols in file paths that fail with the zsh shell * Disable asan leak checker when discovering tests This means Windows also no longer requires the very latest CMake 3.18.
2020-07-30Fix: Blender_test not working on windows.Ray Molenkamp
This bumps the minimum requirement for cmake from 3.10 to 3.18 on windows if `WITH_GTESTS` is enabled. Reviewed By: sergey brecht sybren campbellbarton Differential Revision: https://developer.blender.org/D8405
2020-07-30Enable header auto-complete suggestions in XcodeAnkit Meel
Description of `USER_HEADER_SEARCH_PATHS` build setting: " This is a list of paths to folders to be searched by the compiler for included or imported user header files (those headers listed in quotes) when compiling C, Objective-C, C++, or Objective-C++. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted. See Always Search User Paths (Deprecated) (ALWAYS_SEARCH_USER_PATHS) for more details on how this setting is used. If the compiler doesn't support the concept of user headers, then the search paths are prepended to the any existing header search paths defined in Header Search Paths (HEADER_SEARCH_PATHS). " http://help.apple.com/xcode/mac/current/#/itcaec37c2a6 Xcode doesn't use `HEADER_SEARCH_PATHS` for auto-complete. Only the header files in the same directory as the current file are suggested. CMake as of now correctly sets `SYSTEM_HEADER_SEARCH_PATHS` and lumps the rest in `HEADER_SEARCH_PATHS`. The standard way is to use `USER_HEADER_SEARCH_PATHS` & `SYSTEM_HEADER_SEARCH_PATHS` and let `HEADER_SEARCH_PATHS` be used as a fallback for compilers which do not distinguish between `<*.h>` and `"*.h"` syntax. So set `USER_HEADER_SEARCH_PATHS` to the include paths specified in the `CMakeLists.txt` files of all targets.
2020-07-27CMake: reject older GCC version when using precompiled Linux librariesSybren A. Stüvel
In the situation where the precompiled libraries are used on Linux + GCC, a version of GCC older than 9.3 is guaranteed to cause problems. This just implents a fatal error message when we know it doesn't make sense to continue. We could do more checks and add some warnings, but it's very likely that these will be ignored amongst the other noise. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D8396
2020-07-20Cycles: Use pre-compiled PTX kernel for older generation when no matching ↵Patrick Mours
one is found This patch changes the discovery of pre-compiled kernels, to look for any PTX, even if it does not match the current architecture version exactly. It works because the driver can JIT-compile PTX generated for architectures less than or equal to the current one. This e.g. makes it possible to render on a new GPU architecture even if no pre-compiled binary kernel was distributed for it as part of the Blender installation. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8332
2020-07-16T73268: Link C/C++ unit tests into single executableSybren A. Stüvel
This commit introduces a new way to build unit tests. It is now possible for each module to generate its own test library. The tests in these libraries are then bundled into a single executable. The test executable can be run with `ctest`. Even though the tests reside in a single executable, they are still exposed as individual tests to `ctest`, and thus can be selected via its `-R` argument. Not yet ported tests still build & run as before. The following rules apply: - Test code should reside in the same directory as the code under test. - Tests that target functionality in `somefile.{c,cc}` should reside in `somefile_test.cc`. - The namespace for tests is the `tests` sub-namespace of the code under test. For example, tests for `blender::bke` should be in `blender::bke:tests`. - The test files should be listed in the module's `CMakeLists.txt` in a `blender_add_test_lib()` call. See the `blenkernel` module for an example. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7649
2020-07-16macOS: Support arm64 architecture.Stefan Werner
Enabling all `make deps` dependencies with the exception of Embree and OIDN. After that, Blender can be compiled on an Apple Silicon Mac just like on any Intel based Mac. There are still compiler warnings that need to be investigated and there are probably a couple of bug still to be discovered and to be fixed. Most patches to the dependencies are simple and are about disabling SSE and setting the proper architecture to compiile for. Notable exception is Python, where I back ported a yet to be accepted PR for upstream Python: https://github.com/python/cpython/pull/21249 Cross compiling or buliding a Universal Binary is not supported yet. The minimum macOS target version for x86_64 remains at 10.13, the target for arm64 is 11.00. Differential Revision: https://developer.blender.org/D8236
2020-07-08macOS: upgrade minimum required version to 10.13 High SierraBrecht Van Lommel
C++17 does not work on 10.12, and Apple extended support ended for 10.12 in October 2019. Maniphest Tasks: T76783, T76184 Differential Revision: https://developer.blender.org/D8179