Commit Graph

52 Commits

Author SHA1 Message Date
Brecht Van Lommel 7a395e2e7f Revert changes from main commits that were merged into blender-v4.1-release
The last good commit was f57e4c5b98.

After this one more fix was committed, this one is preserved as well:
67bd678887.
2024-03-18 15:04:12 +01:00
Campbell Barton 5214e6f35d Cleanup: unset temporary CMake variables
Also use consistent case (for `_*_SEARCH_DIRS`).
2024-03-08 10:54:56 +11:00
Brecht Van Lommel 8131a636fb Build: bump supported Python version to 3.11 on macOS
Now that the precompiled libraries have been updated.
2024-01-04 02:51:44 +01:00
Campbell Barton e18e4a1acf CMake: default to Python 3.10 for macOS
The recent bump to 3.11 should have only changed Linux as updated macOS
libraries have not yet been committed.
2023-12-23 16:19:09 +11:00
Campbell Barton 526019b559 CMake: default to Python 3.11, auto-update existing variables 2023-12-23 14:39:55 +11:00
Campbell Barton 46edf61180 CMake: adjust the error message when a non-default version wasn't found
The error message was written assuming the default version was set,
making the error confusing.
Adjust the error message when the non-default version is missing.
2023-08-30 15:20:50 +10:00
Campbell Barton 5478798526 Cleanup: use lowercase cmake commands
The `Find*.cmake` modules originally used uppercase commands to match
CMake's own conventions. Since then CMake uses lower-case and even
within our own find modules, using all uppercase wasn't done
consistently. Opt for lowercase everywhere.
2023-08-17 13:15:56 +10:00
Campbell Barton e955c94ed3 License Headers: Set copyright to "Blender Authors", add AUTHORS
Listing the "Blender Foundation" as copyright holder implied the Blender
Foundation holds copyright to files which may include work from many
developers.

While keeping copyright on headers makes sense for isolated libraries,
Blender's own code may be refactored or moved between files in a way
that makes the per file copyright holders less meaningful.

Copyright references to the "Blender Foundation" have been replaced with
"Blender Authors", with the exception of `./extern/` since these this
contains libraries which are more isolated, any changed to license
headers there can be handled on a case-by-case basis.

Some directories in `./intern/` have also been excluded:

- `./intern/cycles/` it's own `AUTHORS` file is planned.
- `./intern/opensubdiv/`.

An "AUTHORS" file has been added, using the chromium projects authors
file as a template.

Design task: #110784

Ref !110783.
2023-08-16 00:20:26 +10:00
Campbell Barton 42713bf0f8 Cleanup: quiet uninitialized warnings for finder root directories 2023-07-29 13:47:55 +10:00
Campbell Barton 49594c37ae License headers: use SPDX-FileCopyrightText for CMake files 2023-06-14 23:36:23 +10:00
Campbell Barton cddbd2dfb3 CMake: use a custom message when Python is not found
When Python is not found, inform developers how they can use a newer
version. Even though it's not officially supported - we typically keep
the latest stable version of Python working.
2023-05-12 17:00:12 +10:00
Campbell Barton 66dee44088 CMake: quiet references to undeclared variable warnings
These warnings can reveal errors in logic, so quiet them by checking
if the features are enabled before using variables or by assigning
empty strings in some cases.

- Check CMAKE_THREAD_LIBS_INIT is set before use as CMake docs
  note that this may be left unset if it's not needed.
- Remove BOOST/OPENVDB/VULKAN references when disable.
- Define INC_SYS even when empty.
- Remove PNG_INC from freetype (not defined anywhere).
2023-01-19 17:10:42 +11:00
Ray Molenkamp 70375c96d5 USD: prepare for building with Python support and shared libraries
Shared libraries and USD plugins will be placed in the same folder, where USD
already looks for plugins.

This means that specifying the path to the plugins will no longer be needed
once the new libraries are available for all platforms. For now the code was
refactored to support both cases.

Ref T99618
2022-12-07 15:28:17 +01:00
Brecht Van Lommel 2c23b4e0bf Python: on macOS, stop requiring framework for building bpy module
Build against Python from precompiled libraries by default, instead of
requiring framework from python.org package install. The resulting bpy module
can still be used with any Python install of the same version.

Use the same CMake find module as Linux. This simplifies code, and makes it
possible to manually set PYTHON_* variables in CMake configuration.

Remove WITH_PYTHON_FRAMEWORK option for regular Blender build, as this doesn't
work well due to missing required Python packages. Advanced users can still
set PYTHON_ROOT_DIR=/Library/Frameworks/Python.framework/Versions/3.10 for
the same result.
2022-09-10 13:47:48 +02:00
Campbell Barton e82141b6b4 Do not provide python libraries for linking if building python module
When building blender as a python module, such as for inclusion in a
wheel, it is not permitted to link against python libraries.
This diff does so by simply unsetting the library when building blender
as a python module, instead of the more heavyweight solution of
switching to the cmake FindPython module.

Reviewed By: LazyDodo, campbellbarton

Ref D15012
2022-05-31 18:18:24 +10:00
Campbell Barton 1df8a5f8fb File headers: use SPDX license for CMake files 2022-02-11 14:23:56 +11:00
Campbell Barton b9718899fa Python: default to version to 3.10 for Linux
This doesn't bump the minimum version, see D13943.
2022-01-31 23:57:10 +11:00
Leon Zandman c317f111c1 Cleanup: Spelling Mistakes
This patch fixes many minor spelling mistakes, all in comments or
console output. Mostly contractions like can't, won't, don't, its/it's,
etc.

Differential Revision: https://developer.blender.org/D11663

Reviewed by Harley Acheson
2021-06-22 10:54:50 -07:00
Campbell Barton 7952ed872a CMake: update python to 3.9.1
Default to Python version 3.9.

Reviewed By: LazyDodo, sybren, sebbas

Ref D10380
2021-02-12 07:50:01 +11:00
Brecht Van Lommel 54c2c14921 CMake: clarify that the modules are licensed BSD 3-Clause
Many of these are derived from similar modules in the CMake project, which
have this license.

Fixes T79715
2020-08-12 18:49:16 +02:00
Campbell Barton 87c18fbbc5 CMake: remove non-standard package search paths
Reduce the number of possible locations used to find libraries,
to simplify troubleshooting.

Only keep '*_ROOT_DIR' and the path used by 'install_deps.sh'.
2020-02-06 01:23:22 +11:00
Campbell Barton 312075e688 CMake: add missing headers, use space before comments 2019-10-29 01:33:44 +11:00
Brecht Van Lommel a4f2ebc78d Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3700
2018-09-19 18:18:05 +02:00
Ray Molenkamp 51ac494f21 build_files: bump python version in FindPythonLibsUnix.cmake to 3.7 now that all platforms have been updated 2018-09-17 13:45:12 -06:00
Campbell Barton ae01df5779 Cleanup: trailing space in CMake files 2018-06-10 08:19:03 +02:00
Campbell Barton 239b38cd64 CMake: avoid naming collision 2017-10-04 01:35:24 +11:00
Campbell Barton cbe07d980c Python: bump minimum version to 3.6 2017-10-03 23:50:34 +11:00
Campbell Barton 5680ac911b missed last commit 2015-11-27 18:00:02 +11:00
Campbell Barton 2fa1f60d8e CMake/SCons: set Python to 3.5 2015-11-27 17:26:08 +11:00
Campbell Barton e698299e4f CMake: install Python executable when its bundled 2015-05-19 16:44:19 +10:00
Campbell Barton 4560570f8a Fix for building blender as a Python module
Installation didn't work on debian distro's
now install into PYTHON_SITE_PACKAGES (which is detected and can be configured).
2015-03-24 17:06:12 +11:00
Campbell Barton 006b550f6f Fix the ABIFLAGS order for detecting Python debug builds
D631 by mva
2014-07-04 20:02:58 +10:00
Campbell Barton b96d531bc9 Python: move to version 3.4x on all platforms 2014-04-30 23:19:16 +10:00
Campbell Barton f75711db7f cmake: set python, llvm and osl libs as advanced. 2013-08-28 04:32:39 +00:00
Campbell Barton 6ebfdd8dc3 remove reference to wrong python version in comments & pedantic style edit. 2013-07-10 09:40:49 +00:00
Sergey Sharybin d3c3f07133 Initial implementation of a script for automatic dependencies installer/builder
This script will install all packages from the repositories and will compile
missing in repositories libraries.

It is supposed to replace pre-compiled libraries from our svn.

Tested script on Fedora 14 and 17, Ubuntu 10.04 and 12.10. All the dependencies
and manually built libraries seems to be fine. However, it's really annoying to
build blender in virtual machine to ensure there's no linking errors, i would
hope community will help testing and making needed tweaks to the script :)

To use the script, simple run it from your user name. It'll run installation
commands from a sudo, so you would likely be requested to type a password.

I've made tweaks to CMake FindLibs, so it should find OIIO, OCIO and python
libraries compiled by this script. Boost and FFmpeg would need to be specified
manually.

SCons currently would require manual paths specifications as well. Perhaps we
could make SCons smarter in the future.

All the parameters you need to pass to CMake/SCons would be printed when script
finishes to run.

Pretty much sure it's not production-ready script, but we need to start testing
at some point :)
2012-11-12 19:39:09 +00:00
Bastien Montagne dcca228906 Another fix for finding python stuff... Should work for everyone now! (I hope...). 2012-11-09 20:38:09 +00:00
Bastien Montagne 3e004d3043 Use CMAKE_LIBRARY_ARCHITECTURE instead of hardcoded stuff like x86_64-linux-gnu! Now should work with any multiarch! 2012-11-07 16:51:09 +00:00
Bastien Montagne 5850e62262 Attempt to fix problems with local built py caused by own r51976. 2012-11-07 12:24:03 +00:00
Bastien Montagne fff3f95768 Update to make it work with new debian-like py3.3 packages. A bit hackish (this arch-dependent stuff makes things a bit complex), and probably only working for amd64 arch, but at least should not create any regression... 2012-11-07 11:44:39 +00:00
Campbell Barton 004f8d78ed default to Python3.3 on Linux for SCons and CMake, warn when building with python 3.2x or older.
also remove casts to keep Python3.2 warning quiet.
2012-11-05 13:48:42 +00:00
Campbell Barton 4d9766aacf minor cleanup
- remove / comment unused python vars
- replace mul_v3_fl(somevec, -1.0f); with negate_v3(somevec);
2011-11-16 16:38:37 +00:00
Campbell Barton b07d92408b cmake could ignore defines for python lib/include passed from the command line if both weren't defined. 2011-11-02 21:35:00 +00:00
Campbell Barton 077fd13416 cmake:
- fix for cmake's SSE detection which would fail because of strict warnings and also had redundant cache setting.
- was incorrectly initializing variables (own bad)
- python was searching for libs on every run, now only do this if there not cached.
2011-10-01 19:52:33 +00:00
Campbell Barton 78ea4561a4 fix for python ABI search, was missing 'd' 2011-06-20 09:39:14 +00:00
Campbell Barton 97a85fe100 - add example for python rna property update
- edit the copyright for blender specific cmake find modules
2011-06-20 02:54:56 +00:00
Campbell Barton 6790dbe9db cmake: fix for recent break in msvc+collada, also dont cache duplicate python include/library variables. 2011-06-19 13:06:21 +00:00
Campbell Barton e7c8169086 add back PYTHON_LIBPATH, needed for installing on python 2011-06-19 11:04:15 +00:00
Campbell Barton def6bcd4e5 cmake add module for finding fftw3.
also allow debug blender to build with non debug python
2011-06-19 08:57:34 +00:00
Campbell Barton b15a2b0ffc cmake: added FindOpenJPEG module. 2011-06-19 07:46:24 +00:00