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-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
2020-09-14Make deps: Updated required list of dependencies for macOSSebastián Barschkis
It was possible to drop `nasm` from the list of required macOS dependencies. However, `pkg-config` had to be added - it was required before but probably no one noticed this. In order to build `external_clang` successfully, `external_xml2` had to be added to the clang dependencies (`c-index-test` was failing). Note: On Linux `make deps` still seems to require `nasm` installed via apt. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8870
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-03Make deps: Disabled assembly for GMP on Apple/arm64.Stefan Werner
This appears to be a configuration for which GMP has no assembly, yet the default configure script tries to build it.
2020-09-01USD: remove library initialisation hackSybren A. Stüvel
Remove the hack for library initialisation; this is no longer necessary as the required information can be passed to the USD library after its static initialisers have run. This new approach is compatible with both the patched and original USD library. This means that platform maintainers don't need to rebuild the USD library until the next upgrade. Manifest Task: https://developer.blender.org/T80320
2020-09-01Fix double include of `gmp.cmake`Sybren A. Stüvel
This fixes `make deps` complaining about the `extern_gmp` project being defined twice.
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-31Remove patch for HDF5 librarySybren A. Stüvel
Delete `hdf5.diff`, because it's no longer used. Since Blender 2.90 the optional support for HDF5 has been dropped, but this file accidentally wasn't deleted. See 0102b9d47edf and 0c3843622726. No functional changes.
2020-08-28Change cmake configs for full and release to enable WITH_GMP.Howard Trickey