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-12-14Fix several issues with handling of numpy in CMake.Bastien Montagne
Issues were: * Abusing of `WITH_PYTHON_INSTALL_NUMPY` by both Audaspace and Mantaflow. - `PYTHON_INSTALL` options only decide whether we copy python (and some extra modules) in our Blender installation. On linux it makes much more sense to use global python installation. - Now we have instead a proper `WITH_PYTHON_NUMPY` * Bad assumptions regarding path of headers relative to path of python module. - In current Debian testing, modules are under `python3.9` directory, while headers are under `python3` directory. - Now we properly `find_path` for headers as well, modifying `find_python_package` to take an optional argument for headers. Note that the required changes done to `extern` libraries are in blender-specific files that do not exist upstream. Differential Revision: https://developer.blender.org/D9773
2020-12-14Revert "Fix several issues with handling of numpy in CMake."Bastien Montagne
This reverts commit 5d570c875eda8fb9aa3635f7f4edac0dc1eaedc8. Buildbots are still borken, need more time to investigate.
2020-12-14Fix several issues with handling of numpy in CMake.Bastien Montagne
Issues were: * Abusing of `WITH_PYTHON_INSTALL_NUMPY` by both Audaspace and Mantaflow. - `PYTHON_INSTALL` options only decide whether we copy python (and some extra modules) in our Blender installation. On linux it makes much more sense to use global python installation. - Now we have instead a proper `WITH_PYTHON_NUMPY` * Bad assumptions regarding path of headers relative to path of python module. - In current Debian testing, modules are under `python3.9` directory, while headers are under `python3` directory. - Now we properly `find_path` for headers as well, modifying `find_python_package` to take an optional argument for headers. Note that the required changes done to `extern` libraries are in blender-specific files that do not exist upstream. Differential Revision: https://developer.blender.org/D9773
2020-12-11Cleanup: trailing spaceCampbell Barton
2020-12-03MSVC: Enable clang-tidy analyserRay Molenkamp
This enables the use of clang-tidy in the VS IDE. To use it: 1 - Enable WITH_CLANG_TIDY in your cmake configuration 2 - From the Analyse pull down menu select Run Code Analysis on... The analyser is currently not enabled by default on build given it is quite slow and there are quite a few problems it reports that we still need to deal with.
2020-12-02Deps: Additional changes for PugiXML on macOSSebastián Barschkis
This commit expands the Windows-specific code in rBdca9aa0053f7 and Linux-specific code in rB33b7d53df08a. It also fixes a capitalization issue in FindPugiXML.cmake
2020-12-01Deps: Add PugiXML as an official dependencySybren A. Stüvel
PugiXML was historically shipped hidden embedded into OIIO, the Grease Pencil team had a requirement for an XML library recently so pugi seems like a natural choice since it's not really a 'new' library, we just turn an implicit dependency into an explicit one. This commit expands the Windows-specific code in rBdca9aa0053f7 to include Linux. macOS support will be handled in a later commit. NOTE: run `cmake -U'*PUGIXML*' .` in the build directory to ensure CMake finds PugiXML in the new location. For details see D8628
2020-11-30Deps: PugiXML 1.10Ray Molenkamp
This separates out PugiXML that was previously bundled by OIIO. As this linux/mac libs are not available this commit only contains the builder and windows changes, and the option to enable pugixml is guarded by a platform if, this can be removed once all platforms have committed the svn libs. For details see D8628
2020-11-29CMake/macOS: Use custom LIBDIR if set on CLIRebecca Dengate
Reviewed By: ankitm Maniphest Tasks: T83174 Differential Revision: https://developer.blender.org/D9664
2020-11-26Cleanup: clearer marking of what was changed in GTestAddTests.cmakeSybren A. Stüvel
Replace `Blender` with `BLENDER` so that it's more clearly a marker, and not just the name. No functional changes.
2020-11-23Cleanup: CMake: use string(APPEND..), not set(..)Ankit Meel
Left out in {rB7f28a99dd5a57216fb477d844ae1fec5510ad5d5}
2020-11-23CMake/macOS: Replace -Xlinker with -Wl.Ankit Meel
Causes link issues on Xcode's "New Build System" which was introduced in Xcode 10 and is default on Xcode 12. https://devtalk.blender.org/t/16273 Differential Revision: https://developer.blender.org/D9624 Reviewed by: brecht, #platform_macos
2020-11-12Fix NanoVDB not being enabled/disabled correctly in CMake profilesPatrick Mours
This caused warnings when e.g. building the lite profile because NanoVDB was not disabled, but OpenVDB was. This Fixes this by setting the "WITH_NANOVDB" flag too.
2020-11-10Windows: Fix build issue with VCPKGRay Molenkamp
For blender we disable VCPKG to prevent it from picking up the wrong libraries from VCPKG rather than our lib folder some of the cycles tests needed this to link correctly. reported by @alef on chat
2020-11-06Clang-Tidy: error out when executable not foundSybren A. Stüvel
Stop with an error when the Clang-Tidy executable cannot be found. Without this check, CMake will happily report "Found Clang-Tidy" but with the fallback version (0, 0, 0), when `CLANG_TIDY_EXECUTABLE` points to a non-existing executable.
2020-11-06CMake: configue_file() to pass strings for build-infoCampbell Barton
Using configue_file(..) would have avoided the breakage from 1daa3c3f0a1cfd, caused by buildinfo not properly escaping quotes. Rely on CMake to escaping strings instead using configure_file().
2020-11-06Cleanup: use string APPEND/PREPENDCampbell Barton
Replace 'set' with 'string(APPEND/PREPEND ...)'. This avoids duplicating the variable name.
2020-11-04CMake: add path_ensure_trailing_slash utility macroCampbell Barton
2020-11-03Merge branch 'blender-v2.91-release' into masterAnkit Meel
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-28Merge branch 'blender-v2.91-release' into masterAnkit Meel
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-22Fix build error Python module build and Embree on macOSBrecht Van Lommel
Setting the stack size only works for executables, for shared libraries the host application controls it.
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-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.