Joao Matos
855ad6c709
CMake: Add GCC/Clang -fdiagnostics=color compiler option.
2025-03-03 18:13:39 +01:00
Chris Hennes
0c4ed644c4
Merge pull request #19450 from tritao/base-python-api-model
...
Base: Modernize Python bindings APIs
2025-03-02 16:34:25 -06:00
Chris Hennes
729f09ede4
Merge pull request #19626 from tritao/qt-gl-cleanup
...
Gui: Remove QtOpenGL.h.
2025-03-02 16:22:57 -06:00
Joao Matos
8e7c3e9f2f
Tools: Update binding generator.
2025-03-01 16:23:54 +00:00
marioalexis
84681f0123
CMake: Add FREECAD_USE_PYSIDE and FREECAD_USE_SHIBOKEN to final report
2025-02-26 14:25:40 -03:00
marioalexis
9119d392c9
CMake: Fix PySide6 search
2025-02-26 14:25:40 -03:00
marioalexis
191b71c0cc
CMake: Fix PySide major version comparison
2025-02-26 14:25:40 -03:00
Joao Matos
91e94ba1dd
Gui: Cleanup Qt OpenGL usings in QtOpenGL.h.
...
Previously the code defined compatiblity usings in `QtOpenGL.h` header,
which I think was added for backwards compatiblity with previous Qt
OpenGL widgets.
As far as I can tell, this is not necessary anymore, and can be cleaned
up.
2025-02-25 23:03:51 +00:00
Chris Hennes
64e5e4a137
CMake: Force OpenGL to use legacy
2025-02-25 13:26:02 -06:00
Chris Hennes
5f35875c46
Merge pull request #19516 from tritao/tools-python-bindings-gen
...
Tools: Introduce a new Python-based C++ bindings generator
2025-02-24 16:39:24 +00:00
Joao Matos
cc6ffb44de
Core: Move PyCXX library to src/3rdParty.
2025-02-24 16:36:06 +00:00
Chris Hennes
38f9fecaf6
CMake: Correct formatting to match existing
2025-02-22 20:48:44 -06:00
Chris Hennes
2064703154
CMake: Remove support for old CMake versions
2025-02-22 20:48:44 -06:00
Chris Hennes
b46aa342e4
CMake: Correct use of CACHE
2025-02-22 20:48:44 -06:00
Chris Hennes
ac77cd779e
CMake: PySide cleanup
2025-02-22 20:48:44 -06:00
Chris Hennes
e25efd4fb9
CMake: Expand note about BOOST_PP_VARIADICS=1
2025-02-22 20:48:43 -06:00
Chris Hennes
87ce62f8ac
CMake: Update compiler and standard mins
2025-02-22 20:48:43 -06:00
Jacob Oursland
9af828d15a
CMake: Remove unsupported DEPENDS args to CMake macros.
2025-02-22 20:41:15 -06:00
bofdahof
34639e777d
Remove OpenCascade Community Edition
2025-02-21 14:21:21 -06:00
bofdahof
b73a403ab0
Remove second vtk listing. See #19607
2025-02-21 14:18:10 -06:00
tritao
8ba573712c
Tools: Introduce a Python-based API bindings template generator.
...
This extends the existing XML-based template generator to allow an
additional kind of Python-based input.
The Python code is read as source code to an AST to a typed model
equivalent to the existing XML model, and processed by the existing
code templates into compatible code.
This provides a few benefits, namely readability is much increased,
but more importantly, it allows associating the APIs with Python's new
typing information, which will allow to provide accurate type hinting
without additional downstream processing in the future.
Right now this is just a proof-of-concept but if the approach is
well received, then a more complete implementation can be done with
further conversion of existing binding files.
Here is an example of how it looks, though I still think the metadata
is too verbose and can be made to look nicer with some further work.
```python
from ..Base.Metadata import metadata
from ..Base.Persistence import PersistencePy
from typing import Any, Optional, List
@metadata(
Father="PersistencePy",
Name="DocumentPy",
Twin="Document",
TwinPointer="Document",
Include="Gui/Document.h",
Namespace="Gui",
FatherInclude="Base/PersistencePy.h",
FatherNamespace="Base"
)
class DocumentPy(PersistencePy):
"""
This is a Document class.
Author: Werner Mayer (wmayer@users.sourceforge.net )
Licence: LGPL
"""
def __init__(self, *args: Any, **kwargs: Any) -> None:
"""
Constructor for DocumentPy.
"""
super(DocumentPy, self).__init__(*args, **kwargs)
pass
def show(self, objName: str) -> None:
"""
show(objName) -> None
Show an object.
Parameters:
objName (str): Name of the `Gui.ViewProvider` to show.
"""
pass
```
2025-02-21 16:32:13 +00:00
Joao Matos
b67ab979af
CMake: Update minimum Python version to 3.10
2025-02-21 09:45:13 -06:00
tritao
55ec098719
CMake: Rename generate_from_py macro to generate_embed_from_py.
2025-02-21 13:18:36 +00:00
lorenz
ba60cc61e6
add option to disable check for pivy at build-time ( #19718 )
...
Co-authored-by: João Matos <joao@tritao.eu >
2025-02-20 08:32:58 -03:00
Joao Matos
27ebc68a11
CMake: Modernize build files using outdated Python variables.
2025-02-16 10:21:26 -06:00
Andrea
de9bd5e1ce
change MIN_boost_version
...
ubuntu version 20.04 is no longer supported.
The minimum boost version used for freecad is now 1.74 (ubuntu 22.04) https://launchpad.net/ubuntu/jammy/+package/libboost-system-dev
2025-02-15 13:33:32 -06:00
bofdahof
c7eb97c972
Add Vtk to cmake report
2025-02-15 10:22:09 -06:00
tritao
9636068460
Base: Move zipios library to 3rdParty folder.
2025-02-14 13:08:28 -06:00
tritao
e94d1cf872
Base: Remove Boost-based filesystem and switch to standard <filesystem>
2025-02-10 10:48:54 -06:00
Joao Matos
1eb7468710
CMake: Improve Pivy Coin3D version mismatch checking.
2025-02-10 10:41:47 -06:00
Chris Hennes
6b59e4b2ec
Merge pull request #19479 from tritao/base-cleanup-xml-generation
...
Base: Minor cleanups to base XML bindings generation
2025-02-10 09:34:50 -06:00
tritao
adf8e62ec0
Tools: Move bindings generator into generator folder.
2025-02-08 16:11:01 +00:00
Patryk Skowroński
af2ad11115
Fixed CMake files
2025-02-04 11:04:27 -06:00
luzpaz
0d96954bca
Remove superflous whitespace + trailing newlines
2025-01-29 07:59:05 -06:00
tritao
1e05c59ce8
CMake: Provide build flag to enable compile time tracing.
2025-01-29 06:50:37 -06:00
tritao
ade3ae02ff
CMake: Provide build flag to enable libc++ standard library.
2025-01-29 06:50:37 -06:00
Chris Hennes
836ad91f3d
Merge pull request #17000 from pskowronskiTDx/tdx-mac
...
Enabling 3Dconnexion NavLib integration for MacOS
2025-01-24 08:09:29 -06:00
João Matos
97d4c952af
CMake: Allow using symlinks for installed files. ( #19043 )
...
* CMake: Allow using symlinks for installed files.
2025-01-21 11:35:53 -06:00
João Matos
8a384a2b70
CMake: Improve Import dependency check for TechDraw module. ( #19036 )
...
* CMake: Fix missing Import dependency check for TechDraw module.
* CMake/TechDraw: Conditionally use Import library.
* CMake: Fix missing dependency check for Module and PartDesign measure in TechDraw.
2025-01-19 13:33:16 -06:00
Chris Hennes
be2a45e767
Merge pull request #18783 from tritao/cmake-coin-target
...
CMake: Coin3D build fixes
2025-01-18 12:50:57 -05:00
tritao
70423b7d59
CMake: Issue a non-fatal error when module dependency is not found.
2025-01-14 15:45:21 -06:00
Patryk Skowroński
1baee311bc
Merge branch 'main' into tdx-mac
2025-01-09 16:07:02 +01:00
Patryk Skowroński
f2fb3f6b07
Fixed CMake files for a runtime switch
2025-01-09 16:03:51 +01:00
Joao Matos
9eb55a0414
CMake: Try searching for Coin3D in config mode
2024-12-28 20:49:36 +00:00
Joao Matos
11af126717
CMake: Use Coin3d CMake target directly if one exists.
2024-12-28 20:49:01 +00:00
luzpaz
7782fd6827
Trim lines ending with superfluous whitespace
2024-12-22 08:50:37 -05:00
wmayer
cad2f33b4e
MSVC: Fix linking error when 3Dconnexion support is set to 'Raw input'
2024-12-20 18:32:09 -05:00
Furgo
e458526279
Disable external zipios usage for Debian builds
2024-12-14 10:49:32 -05:00
Chris Mayo
21411fcf3a
Remove LibPack FLANN comment
...
cMake/UseLibPack10x.cmake was removed in:
e0220e7830 ("Remove unused cMakes", 2022-02-22)
2024-12-13 21:19:36 +01:00
Patryk Skowroński
c3887bf120
Merge branch 'main' into tdx-mac
2024-12-10 12:39:49 +01:00