Commit Graph

479 Commits

Author SHA1 Message Date
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
marioalexis
a6b36f6e57 CMake: Decouple internal SMESH build from Fem build - fixes #18287 2024-12-09 12:09:30 -05:00
wwmayer
94cf4efd87 CMake: Report use of ccache in the summary (#18245)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-12-09 11:01:32 -06:00
Chris Hennes
b160f1afc0 Merge pull request #18244 from wwmayer/space_mouse_runtime
Gui: Add runtime check to choose between modern and legacy space mous…
2024-12-09 11:36:17 -05:00
Chris Hennes
ba1b3b1cb7 cMake: Update for LibPack 3.1
LibPack 3.1 removes boost-python and adds pybind11
2024-12-09 10:26:00 -05:00
wmayer
7dbef77f4a CMake: Handle build time checks to choose between modern and/or legacy space mouse devices 2024-12-03 20:32:06 +01:00
mosfet80
841a10f2e0 Clean FindKDL.cmake
update orocos version used by oldest supported focal fossa
clean cmake
2024-11-22 11:53:12 -05:00
mosfet80
0fee326c54 [cmake] clean InitializeFreeCADBuildOptions.cmake
cmake version is always greater than 3.4.3
The verification is done in the cmakefile in the root folder
2024-11-18 12:14:39 -05:00
Chris Mayo
b0dd5e7b60 CMake: Add inter-module dependency of ReverseEngineering on Points
Building with -DBUILD_POINTS=no -DBUILD_REVERSEENGINEERING=yes fails with:

src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp
src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp:36:10: fatal error: Mod/Points/App/PointsPy.h: No such file or directory
   36 | #include <Mod/Points/App/PointsPy.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
2024-10-21 18:13:20 +02:00
Chris Mayo
5a537f6de0 CMake: Add inter-module dependency of Part on Material
Building with -DBUILD_PART=ON and -DBUILD_MATERIAL=no fails with:

/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMaterials: No such file or directory
collect2: error: ld returned 1 exit status
2024-10-21 18:11:56 +02:00
Patryk Skowroński
8bb3d719cf CMake build flag fix 2024-10-04 16:02:08 +02:00
Patryk Skowroński
d372aefa7c NavLib integration enabled for MacOS 2024-09-16 11:19:25 +02:00