You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: gettingstarted/dependencies.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,13 @@ in. Depending on what platform you are developing on, you have a variety of tool
15
15
of the most common ones is included below. The main purpose of this document is to highlight the primary dependencies and describe what they do and
16
16
why FreeCAD needs them.
17
17
18
+
## Supported versions
19
+
20
+
The head of the main branch of FreeCAD can be compiled from source on systems as old as the oldest currently-supported Ubuntu LTS, which has been
21
+
chosen as the "reference" system for this purpose. That is currently Ubuntu 20.04 LTS, which will reach its EOL in April 2025. This ties FreeCAD
22
+
development to the C++17 standard, Python 3.8 and later, Qt 5.14, and the versions of the required libraries available on that system. This will change in
23
+
April 2025 to the C++20 standard, Python 3.10, and Qt 5.15. Qt6.4 and later are also fully supported.
24
+
18
25
## Major dependencies
19
26
20
27
The following is a brief overview of what each of FreeCAD's most critical 3rd-party library dependencies provide.
@@ -33,27 +40,29 @@ OCCT is a big and complex set of C++ libraries that provide functionality requir
33
40
* A document and project data structure with support for save and restore, external linking of documents, recalculation of design history (parametric modeling) and a facility to load new data types as an extension package dynamically.
34
41
35
42
Note that the "Community Edition" of OpenCASCADE is no longer supported by FreeCAD, you must install the first-party library.
43
+
The current minimum supported version is OCCT 7.3.
36
44
37
45
### Python
38
46
39
47
Python is a popular all-purpose scripting language that is widely used in Linux and open source software.
40
48
In FreeCAD, Python is used during compilation and also at runtime in different ways. FreeCAD itself contains
41
49
hundreds of thousands of lines of Python code, and all FreeCAD Addons and Macros are written in Python.
42
50
51
+
The current minimum supported version is 3.8.
52
+
43
53
### Qt
44
54
45
55
Qt is one of the most popular graphical user interface (GUI) toolkits available in the open source world.
46
56
FreeCAD uses this toolkit to draw the interface of the program, as well as to provide some advanced networking functionality
47
-
and translation facilities. FreeCAD currently provides primary support for Qt v5.12 - v5.15, and work is ongoing to support Qt v6.4 and
48
-
later.
57
+
and translation facilities. FreeCAD currently provides primary support for Qt v5.14 - v5.15, and Qt 6.4 and later.
49
58
50
59
Further information about Qt libraries and their programming documentation are available at [Qt Documentation](https://doc.qt.io/).
51
60
52
61
### PySide and Shiboken
53
62
54
63
Shiboken is the Python binding generator that Qt for Python uses to create the PySide module, in other words, it is the system that
55
64
is used to expose the Qt C++ API to the Python language. FreeCAD's Python code uses the PySide library to draw its user interface elements.
56
-
FreeCAD provides primary support for PySide2 (corresponding to Qt5), and support for PySide6 (corresponding to Qt6) is in progress.
65
+
FreeCAD provides primary support for PySide2 (corresponding to Qt5) and PySide6 (corresponding to Qt6).
57
66
Python developers should import `PySide` (with no numeric suffix) -- at compile-time FreeCAD's build system will generate the appropriate
0 commit comments