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-11-03macOS: find Jack framework in system directoriesAnkit Meel
Until it is decided whether to ship JACK with pre-compiled libraries, search for the same in system directories. Ref T79261 Reviewed By: brecht Differential Revision: https://developer.blender.org/D9436
2020-10-28macOS: use -fno-strict-aliasing for all build types.Ankit Meel
The old code was added in {rBbaa4a9c7d4dd} While the hotfix committed in {rB2ddecfffc3d3a3a1db4ae45e8665ca} fixed the id_management test, the correct reason was found at https://bugs.llvm.org/show_bug.cgi?id=47984 This matches the behavior on Linux.
2020-10-20CMake/Windows: Compile GMP library as fat libraryRay Molenkamp
2020-10-20CMake: Compile GMP library as fat librarySergey Sharybin
The idea behind this is to compile all versions of functions, and let the library to pick the best at runtime. Attempting to fix T81835
2020-10-20Fix (unreported) install_deps: wrong version number for llvm in some cases.Bastien Montagne
Version reported by package manager is not always satisfying (on Debian testing currently e.g. `llvm-dev` is reported as `9.0`, when exact one is actually `9.0.1`, this break CMake build of Blender then). Just use version reported by `llvm-config` instead, when using distribution packages.
2020-10-19CMake/macOS: use system OpenAL for the time being.Ankit Meel
Revert part of {rB83124856d05ee4da605ab247e6}
2020-10-19Cmake/macOS: strictly disallow searching in frameworksAnkit Meel
This is a stricter version of the change made in {rBbb872b25f219d1a9bc2446228b6dc} Cmake must never look into Frameworks when the system library guards (`without_system_libs_begin`/`without_system_libs_end`) are present. OpenAL didn't follow this and OpenAL.framework in Xcode would be used. The Cmake's `FindOpenAL.cmake` looks for both library (in this case, the .framework file), and include dir. Precompiled libraries don't contain the former. So `find_package` cannot be used, or it becomes the hack that {rBb2c707747da9} removed. So hardcode the include dir path, and other variables. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9267
2020-10-16CMake/macOS: Search for headers in Frameworks last.Ankit Meel
https://devtalk.blender.org/t/libpng-version-mismatch/15799/ By default, `CMAKE_FIND_FRAMEWORK` is `FIRST`. CMake searches headers and libraries separately. So library is found in LIBDIR, and headers like those in Mono are detected before the headers in LIBDIR, and we get a version mismatch. So set the priority of Frameworks to `LAST`. https://gitlab.kitware.com/cmake/cmake/-/issues/18921 https://gitlab.kitware.com/cmake/cmake/-/issues/16427 {rBbac91956ae97} tried to fix the same issue, but it didn't work. It's fine to keep the changes made there, just removing the comment that may give false sense of security.
2020-10-16CMake/macOS: Restore TIFF's optional status.Ankit Meel
{rB1f6b7387ad01}
2020-10-15CMake/macOS: set package_ROOT for PNG, JPEG, TIFFAnkit Meel
https://devtalk.blender.org/t/libpng-version-mismatch/15799/ In this case, CMake finds libraries in `LIBDIR`, but picks headers from `/Library/Frameworks/` (Mono framework). CMP0074 is already enabled, so use it.
2020-10-13Windows/CMake:Support BLENDER_USER_SCRIPTS in IDEEric Cosky
This diff adds support for respecting the `BLENDER_USER_SCRIPTS` environment variable when setting up the IDE environment. Previously the scripts from the users profile folder were always used even when this variable was set, leading to the possibility of the wrong scripts being visible in the IDE. Differential Revision: https://developer.blender.org/D9189 Reviewed By: Ray Molenkamp
2020-10-13Cycles: Add CUDA 11 build supportPatrick Mours
With this patch the build system checks whether the "CUDA10_NVCC_EXECUTABLE" CMake variable is set and if so will use that to build sm_30 kernels. Similarily for sm_8x kernels it checks "CUDA11_NVCC_EXECUTABLE". All other kernels are built using the default CUDA toolkit. This makes it possible to use either the CUDA 10 or CUDA 11 toolkit by default and only selectively use the other for the kernels where its a hard requirement. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9179
2020-10-13CMake/macOS: find ZLib before setting CMAKE_PREFIX_PATHAnkit Meel
https://devtalk.blender.org/t/building-blender-on-macos-fails/15756/ In some cases, CMake finds the Zlib supplied with OpenCollada pre-compiled libraries, and not the system one.
2020-10-10CMake/macOS/OpenMP: copy the library near tests.Ankit Meel
For multi-config generators, tests are in `bin/tests/<config>` folder. and OpenMP cannot be found at `@executable_path/../Resources/lib`. So create that folder and put the library there to be used by tests. It is not ideal to copy the library around. When minimum CMake version is changed to 3.12, FindOpenMP by CMake can be used for this whole block of code. Then a nice rpath based solution can be used.
2020-10-10CMake/macOS/OpenMP: allow use of LLVM-Clang with OpenMP.Ankit Meel
The "Apple" part is guaranteed by the platform file. "Clang" is enough to differentiate it from other compilers. Came across this due to the custom built LLVM toolchain I'm using.
2020-10-09Cleanup: CMake/macOS: remove boost from OIIO libs.Ankit Meel
Introduced by me in {rB1f6b7387ad0177c1dec9bb83b7}.
2020-10-09Fix (unreported) install_deps: broken compilation of OIDN.Bastien Montagne
When OIDN version was bumped recently the required dependency to build it (ISPC) was not updated accordingly.
2020-10-09install_deps: Do not request elevated rights when creating directory in ↵Andreas Bergmeier
owned directory. This only creates elevated directory when necessary. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D1596
2020-10-09CMake/macOS: Remove _LIBPATH, avoid link_directories.Ankit Meel
After tests were bundled in a single executable and cycles and libmv created their own tests, the warnings on macOS have gone over 800. The reason is setting `*_LIBRARIES` to names of the libraries and later using `link_directories` to link them properly. https://cmake.org/cmake/help/latest/command/link_directories.html > Note This command is rarely necessary and should be avoided where > there are other choices. Prefer to pass full absolute paths to > libraries where possible, since this ensures the correct library > will always be linked. The find_library() command provides the > full path, which can generally be used directly in calls to > target_link_libraries(). Warnings like the following popup for every target/executable, for every library it links to. ``` ld: warning: directory not found for option '-L/Users/me/blender-build/blender/../lib/darwin/jpeg/lib/Debug' ``` The patch completes a step towards removing `link_directories` as mentioned in TODO at several places. The patch uses absolute paths to link libraries and removes all `*_LIBPATH`s except `PYTHON_LIBPATH` from `platform_apple.cmake` file. (The corner case where it's used seems like dead code. Python is no longer shipped with that file structure.) Also, unused code for LLVM-3.4 has been removed. Also, guards to avoid searching libraries in system directories have been added. `APPLE` platform now no longer needs `setup_libdirs`, `cycles_link_directories`, and `link_directories`. The number of warnings now is less than 100, most of them being deprecation ones in dependencies. This patch depended on {rBb746179d0add}, {rB2fdbe4d05011}, {rB402a4cadba49} and {rBd7f482f88ecb}. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8855
2020-10-09Cleanup: spellingAndreas Bergmeier
Ref D9138
2020-10-05Cycles: Add NanoVDB support for rendering volumesPatrick Mours
NanoVDB is a platform-independent sparse volume data structure that makes it possible to use OpenVDB volumes on the GPU. This patch uses it for volume rendering in Cycles, replacing the previous usage of dense 3D textures. Since it has a big impact on memory usage and performance and changes the OpenVDB branch used for the rest of Blender as well, this is not enabled by default yet, which will happen only after 2.82 was branched off. To enable it, build both dependencies and Blender itself with the "WITH_NANOVDB" CMake option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8794
2020-10-05Cleanup: remove arguments to ENDIF in CMake filesCampbell Barton
This is an old convention that hasn't been used by Blender or CMake distributed Find* files for a long time.
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-21Make deps: Enable fPIC for LinuxSergey Sharybin
Similar to D8823.
2020-09-18deps: fix build issue on windows.Ray Molenkamp
Windows does not build libxml2 so the dependency recently added for mac caused a cmake error.
2020-09-18Fix T79929: crashes with Cycles denoising on older MacsBrecht Van Lommel
This was a bug in OpenImageDenoise, upgrade to latest 1.2.3 which has the fix. This in turn required a newer ispc version. Differential Revision: https://developer.blender.org/D8892
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-17Make deps: Compile own nasm for LinuxSergey Sharybin
This solves annoyance that the official RPM repository of nasm requires newer version of rpm tool compared to what is shipped by default with centOS 7. Differential Revision: https://developer.blender.org/D8905
2020-09-16Install_deps: update to add pugixml and potrace new deps.Bastien Montagne
Also fixed OpenVDB maximum version, it appears that even 7.1 is not compatible with 7.0? Re T80818 and D8628.
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-15GMP/macOS: silence "PIE disabled" linker warning.Ankit
The change builds GMP with `--with-pic` flag on non-arm architecture. The warning: ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in ___gmpn_divexact_1 from lib/darwin/gmp/lib/libgmp.a(dive_1.o). To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie Reviewed By: sebbas Differential Revision: https://developer.blender.org/D8823
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-15Cleanup: add missing headers to CMake, formattingCampbell Barton