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-02Cleanup: trailing spaceCampbell Barton
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-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-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/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-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-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-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-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-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-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-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-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
2020-06-25Build: upgrade OpenImageDenoise to 1.2.1Ray Molenkamp
This requires ISPC for building OpenImageDenoise, so that is now added as a dependency as well. Blender itself does not need ISPC for building so it is not included as part of the precompiled libraries. Differential Revision: https://developer.blender.org/D7641
2020-06-15Alembic: remove HDF5 support from CMake filesSybren A. Stüvel
This is a follup to 0c384362272. No functional changes to Blender, just the build scripts.
2020-05-31Deps: Update OIIO + ImageLibs + OSL + HelpersRay Molenkamp
This is the cluster of OIIO and friends , since they are all kinda tangled best to deal with this as a single unit OIIO 2.1.15.0 png 1.6.37 jpeg 2.0.4 opencolorio 1.1.1 tiff 4.1.0 OSL 1.10.10 pugixml 1.10 openjpeg 2.3.1 Differential Revision: https://developer.blender.org/D7727 Reviewed by: brecht
2020-05-19Properly fix: T71040 / T58983 Ocean Modifier crashes at high resolutionsRay Molenkamp
For a more detailed description of the issue see the commit message for rB497cd3d7dd6e497be484eb78a8ddb23f53b20343 This change moves fftw to a shared library and reverts the bandaid we did for 2.83.
2020-05-19Merge remote-tracking branch 'origin/blender-v2.83-release'Ray Molenkamp
2020-05-19Fix: T71040 / T58983 Ocean Modifier crashes at high resolutionsRay Molenkamp
This is not as much a fix as a work around, but given the real involves replacing how we build fftw, it is not eligible for 2.83 which is in BCON3 already. The root of the issue lies with (how we build) fftw3 The first issue is: fftw does not build with MSVC, there are other dependencies that are not compatible with MSVC and for those we build the libraries required with mingw64, same for fftw The second issue is: for reasons unknown we really really really liked all deps to link statically so wherever possible we did so. Now during the building of the fftw it linked a few symbols from libgcc (which we do not ship) like __chkstk_ms, for which we passed some flags to stop generating calls to it. Problem solved! There is no way this could possibly turn around and bite us in the rear. fast forward to today mystery crashes that look like a race condition. What is happening is, we tell the linker that each thread will require a 2-megabyte stack, now if every thread immediately allocated 2 megs, that be 'rough' on the memory usage. So, what happens is (for all apps not just blender), 2 megs are reserved but not backed by any real memory and the first page is allocated for use by the stack, now as the stack grows, it will eventually grow out of that first page, and end up in an area that has not been allocated yet, to deal with that the allocated page is followed by a guard page, someone touches the guard page it's time to grow the stack! Meanwhile in FFTW is it's doing substantial allocation using alloca (up to 64 kb) on the stack, jumping over the guard page, and ending up in reserved but not yet committed memory, causing an access violation. Now if you think, that doesn't sound right! something should have protected us from that! You are correct! That thing was __chkstk_ms which we disabled. Given we do not want a dependency on libgcc while building with MSVC the proper solution is to build fftw as a shared library which will statically link any bits and pieces it needs, however that change is a little bit too big to be doing in BCON3. So as a work around, we change the size the stack grows from 8k to 68k which gives fftw a little bit more wiggle room to keep it out of trouble most of the time. Note this only sidesteps the issue, this may come up again if the conditions are just right, and a proper solution will need to be implemented for 2.90.
2020-05-11Windows: Re-enable incremental linkingRay Molenkamp
It was disabled in D7520 to keep the pdb's from growing out of control however the increased link time is just not worth it. I'll keep an eye on the dailies and see if we have to come up with a different solution.
2020-05-05Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-05-05Fix build with precompiled libraries picking up OpenEXR from install_deps.shBrecht Van Lommel
2020-05-04Windows: Silence LNK4099 warning.Ray Molenkamp
Ever since debug symbols were added for release builds the linker has been on the chatty side about symbols being missing for our binary libs. There's currently no plans to supply those, so best for the linker not to warn us about them.
2020-05-04Windows: Move tbb to being dynamic libraryRay Molenkamp
Static tbb has always been frowned upon [1] sofar it has worked for us but given our reliance on tbb is about to increase (D7475), I'd like to move the library to more supported configuration. Which means moving it to be a dynamic library The libs part of this change is in rBL62416 Reviewed By: Brecht Differential Revision: https://developer.blender.org/D7570
2020-05-01Windows: Support backtraces on release builds.Ray Molenkamp
This diff add supports for crash logs on windows for release builds. This can be toggled on/off with the `WITH_WINDOWS_PDB` cmake option. by default it is on. Things to take into consideration: Release builds are hightly optimized and the resulting backtraces can be wrong/misleading, take the backtrace as a general area where the problem resides rather than an exact location. By default we ship a minimized symbol file that can only resolve the function names. This was chosen to strike a balance between growth in size of the download vs functionality gained. If more detailed information is required such as source file + line number information a full pdb can be shipped by setting `WITH_WINDOWS_STRIPPED_PDB` to off. Differential Revision: https://developer.blender.org/D7520 Reviewed by: brecht
2020-05-01Cleanup: rename WITH_X11 to WITH_GHOST_X11Campbell Barton
Matches WITH_GHOST_{SDL|WAYLAND}
2020-04-30Revert "Windows: Support backtraces on release builds."Ray Molenkamp
Issues with older cmake.
2020-04-30Windows: Support backtraces on release builds.Ray Molenkamp
This diff add supports for crash logs on windows for release builds. This can be toggled on/off with the `WITH_WINDOWS_PDB` cmake option. by default it is on. Things to take into consideration: Release builds are hightly optimized and the resulting backtraces can be wrong/misleading, take the backtrace as a general area where the problem resides rather than an exact location. By default we ship a minimized symbol file that can only resolve the function names. This was chosen to strike a balance between growth in size of the download vs functionality gained. If more detailed information is required such as source file + line number information a full pdb can be shipped by setting `WITH_WINDOWS_STRIPPED_PDB` to off. The Release in the title of this diff refers to the release build type, not the official blender releases. Initially this will only be enabled for nightly build bot versions of blender, official releases as of now will not ship with symbols. Differential Revision: https://developer.blender.org/D7520 Reviewed by: brecht
2020-04-30GHOST: initial Wayland supportChristian Rauch
Usable with the CMake option 'WITH_GHOST_WAYLAND' The following functionality is working: - Building with X11 and Wayland at the same time, wayland is used when available. - Keyboard, pointer handling. - Cursor handling. - Dedicated off-screen windows. - Drag & drop. - Copy & paste. - Pointer grabbing. See D6567 for further details.
2020-04-29Windows: Fix RelWithDebInfo missing symbol informationRay Molenkamp
issue introduced in rB55a2682348df94d0ff2f57d786b7a557312d0345
2020-04-27CMake: add WITH_LINKER_LLD option for unix platformsNathan Craddock
Can give considerably faster linking, especially for debug builds. This may be enabled by default but needs to be more thoroughly tested.
2020-04-20Windows: Add sccache support.Ray Molenkamp
sccache [1] is one of the few ccache like solutions that will work on windows. sccache support can be enabled with the `WITH_WINDOWS_SCCACHE` cmake option however it will only will work with ninja as the build system, msbuild is not supported currently. Advanced option, developes are expected to obtain and configure sccache on their own. ``` Full build no cache 1428.90s (100.00%) Full build cached 434.34s ( 30.40%) ``` [1] https://github.com/mozilla/sccache Reviewed By: nicholas_rishel, Brecht Differential Revision: https://developer.blender.org/D7466
2020-04-07Build: use -no-pie for portable builds on LinuxBrecht Van Lommel
Otherwise file browsers do not recognize the Blender executable. This is already done for official releases. We leave it off for non-portable builds, since that's how Linux distribution packages will typically build Blender and we can continue to follow the OS default there. Using a file browser to launch executables from e.g. /usr/bin would be rare as wel. Differential Revision: https://developer.blender.org/D7363
2020-04-06Fix T75357: USD export broken on windowsRay Molenkamp
Path to the jsons was wrong so they were not copied
2020-04-05Build: hide USD symbols, make Blender symbols visible againBrecht Van Lommel
Following up to b555b8d. Building Blender with hidden symbols but using libraries with visible symbols was giving linker warnings, specifically for USD. So revert that for now, as it was not needed for the bugfix. Hide USD symbols (some of which are not in the USD namespace) to avoid potential conflicts. May potentially help with AMD OpenCL issues in T74262.
2020-04-02Fix Linux link error with pcre after recent changes, must use absolute pathBrecht Van Lommel
2020-04-02Fix link error on Linux buildbot with libxml2Brecht Van Lommel
On macOS this is part of the collada folder, but for Linux xml2 is in its own folder for precompiled libraries.
2020-04-02Fix (harmless) PCRE not found warning when configuring CMake on LinuxBrecht Van Lommel
Differential Revision: https://developer.blender.org/D7309