Commit Graph

490 Commits

Author SHA1 Message Date
Furgo
44e4f53e61 Core: FreeCadMacros.cmake:fc_copy_sources ensure parent directory is created before copy or symlink creation
Fixes: #24432
2025-10-05 21:08:34 -05:00
Chris Hennes
98cf59c281 Merge pull request #24240 from mrpilot2/cmake_pch_mods_part_2
Mods: use CMake to generate precompiled headers on all platforms
2025-09-26 09:46:26 -05:00
chris
ec2460f653 fix issue #23829 build with boost v1.89 and greater 2025-09-24 22:12:47 -05:00
marioalexis
510b2135c1 CMake: Fix Eigen3 version search 2025-09-24 21:56:56 -05:00
Markus Reitböck
65d4088c9e cleanup remaining implementations of precompiled headers 2025-09-24 20:08:57 +02:00
Chris Hennes
3ecdde8491 Base: Allow all valid Python 3 identifier characters
Note: Does not check for keywords, only character classes (not a change from the original code).
2025-08-31 21:39:49 +02:00
Jiří Pinkava
7ca8fac3fa CMake: remove unused PYSIDE_WRAP_UI macro 2025-08-24 22:50:56 -05:00
Chris Hennes
766a0eb835 Tests: Add tests for timestamp-based backups 2025-08-04 17:51:15 +02:00
Jacob Oursland
fb8b82a05f CMake: remove unused FREECAD_USE_OCC_VARIANT. 2025-07-23 22:00:17 -07:00
Chris Hennes
8ae61aa7b2 CMake: Move creation of qt.conf 2025-07-19 11:44:07 -05:00
Chris Hennes
22b820a749 CMake: Explictly add QtOpenGLWidgets
Necessary for manually-compiled Qt 6.9 builds.
2025-07-19 17:17:09 +02:00
Chris Hennes
784f631d45 CMake: Switch default Qt to Qt6 2025-06-08 00:38:03 +02:00
wmayer
4cfc77d9ee Gui: Move define HAS_QTBUG_129596 to separate header file 2025-05-30 18:04:33 +02:00
chris
31ef7fe96e fix for #20656 2025-05-26 18:07:12 +02:00
Pieter Hijma
005a8f15de Fix a cyclic build dependency
Before this commit, Draft depended on BIM and BIM depended on Draft.
With this commit, BIM depends on Draft.
2025-05-15 18:50:17 +02:00
Pieter Hijma
e7f0418966 Fix finding hdf5 on CMake reconfigure 2025-05-14 13:49:09 -05:00
FilippoR
4b459846d4 Tests: Add FREECAD_USE_EXTERNAL_GTEST cmake option (#21190)
Add FREECAD_USE_EXTERNAL_GTEST cmake option and fix build with external libraries
2025-05-08 15:41:48 -05:00
Chris Hennes
6363da3ee9 Merge pull request #20891 from ickby/FEM_python_filter
FEM: Enabling postprocessing filters written in python, and adding a glyph example
2025-05-05 21:19:49 -05:00
marcuspollio
bf9f6fed1d Revert: Enable pcl by default on non windows systems #20372 2025-05-05 11:34:19 -04:00
Jacob Oursland
0d13270675 CMake: Do not optimize debug builds. 2025-05-05 10:20:45 +02:00
David Carter
ba9624d8d4 Merge pull request #21046 from davesrocketshop/issue_13922_2
Update module dependencies to ensure that automated testing code is considered as well as direct dependencies. Update some automated tests to eliminate unwanted dependencies.
2025-05-04 17:02:50 -05:00
Stefan Tröger
f3edddcbdb FEM: Fix typos in python post processing code 2025-05-02 09:25:57 +02:00
Stefan Tröger
bbf5695562 Fem: make python filter build process more elegant 2025-05-02 09:25:56 +02:00
Stefan Tröger
9430bdde01 Fem: Implement basic python filter functionality and glyph example 2025-05-02 09:25:56 +02:00
Kacper Donat
e9c0118dd4 CMake: Detect changes in .pyi file with the same name 2025-04-24 16:40:24 -05:00
Jacob Oursland
9b8efeefed CMake: use job pools to restrict number of concurrent compilers and linkers.
When using Ninja build system, CMake can specify job pools for number of concurrent compilers
and concurrent linkers.  This PR employes the heuristic of max number of compilers as available
physical ram / 1 GiB and a single linker instance to prevent using excessive RAM.  Modern
linkers are multithreaded and should not be run concurrently due to risk of resource exhaustion.
2025-04-15 13:04:22 +02:00
Jackson Oursland
df1c5e73b2 CMake: set optimization of debug builds to -Og. (#20780)
* CMake: set optimization of debug builds to -Og.

* Update cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Fix indentation level

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-14 21:34:46 +00:00
Chris Hennes
7be483da88 CMake: Only set /NODEFAULTLIB for MSVC < 19.30
Corresponds to anything earlier than VS 2022.
2025-04-07 11:23:47 -05:00
Andrea
51d72ea11b Cosmetic Fix
Fix double "--" during print configuration  :

----   Version:  7.1.9
-- -- Found OpenCASCADE version: 7.8.1
-- -- OpenCASCADE include directory: /usr/include/opencascade
-- -- OpenCASCADE shared libraries directory: /usr/lib/x86_64-linux-gnu
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- VTK components:
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  found components: OpenGL GLX

.
2025-04-05 23:00:07 -05:00
Chris Hennes
62b0e6eb4f CMake: Allow external libE57Format 2025-04-01 07:55:25 +02:00
David Carter
05e76dd624 Materials: Build external materials support conditionally
Adds a new build option BUILD_MATERIAL_EXTERNAL which is off by default.

When disabled, the external interface is not built. This allows the
code to be tested thoroughly before reaching the end user.
2025-03-31 22:24:53 +02:00
mosfet80
5e899fb5b9 Update SetupLibFmt.cmake
update fmt to last version
2025-03-31 10:49:16 -05:00
Joao Matos
1224143a99 CMake: Fix generate_from_py macro for temporary pyi files. 2025-03-26 12:18:02 +01:00
Adrian Insaurralde
9cf50b4eb8 Enable pcl by default on non windows systems 2025-03-25 10:14:56 +01:00
Andrea
ad3d274679 Update Eigen Requirement
ubuntu 22.04 use eigen 3.4. The minimum eigen version is raised to 3.4.
Old cmake code is also removed.
2025-03-24 21:09:48 -05:00
Joao Matos
ad4275fe50 CMake: Fix build dependency tracking for Python bindings generation.
This caused a rebuild to always happen due to incorrect dependency
tracking.

Fixes https://github.com/FreeCAD/FreeCAD/issues/20402.
2025-03-24 21:43:31 +01:00
Furgo
af0c256dd1 Do not specify a version in FindOCC.cmake 2025-03-22 16:49:33 -03:00
mosfet80
3026bd413d Remove support to oldest occ <7.5 (#20084)
* remove support to oldest occ <7.5

The  os ubuntu 22.04 not supported use occ 7.5.1.
There is a lot of code implemented to support even older versions.
The patch removes support for versions lower than occ 7.5.0

* .

* move include library

#pieterhijma  change request :

* removed deprecated functions

get/setAngle functions has been removed with OCC 7.5
2025-03-21 13:06:47 +01:00
Chris Hennes
ede962835d Merge pull request #17779 from wwmayer/noboostpy
Remove support for Boost.Python
2025-03-17 00:00:32 -05:00
tritao
b44f679512 Fix regression in Python setup with old Shiboken.
https://github.com/FreeCAD/FreeCAD/pull/19635#issuecomment-2725612407
2025-03-14 21:11:11 +00:00
Chris Hennes
44908ad721 Merge pull request #19428 from tritao/base-tracy-profiler
Base: Add Tracy frame profiling support.
2025-03-14 04:12:05 +00:00
Joao Matos
0feab195ac Base: Add build support and instrumentation for the Tracy profiler. 2025-03-14 03:41:30 +00:00
Chris Hennes
f9fd8b299c Merge pull request #20107 from 3x380V/pip_pyside6
CMake: Fix PySide6 pip search
2025-03-11 04:21:12 +00:00
Chris Hennes
87864c5b3f Merge pull request #19998 from chennes/silenceCoinWarning
CMake: Silence Coin3D deprecation warning
2025-03-10 15:49:59 +00:00
Ladislav Michl
e3efee641b CMake: Fix PySide6 pip search
Since ac77cd779e ("CMake: PySide cleanup") compatibility variables depends
on PySide6_FOUND, but setting that was later removed, leaving pip installed
PySide6 undetected.

Fixes: 9119d392c9 ("CMake: Fix PySide6 search")
2025-03-10 14:15:49 +01:00
Chris Hennes
075ba7f0ef CMake: Silence Coin3D deprecation warning 2025-03-04 20:37:47 -06:00
Chris Hennes
2aa8a8b833 CMake: If using Libpack, require at least v3.1
Previous versions did not include pybind11, but the error message from that failure is not terribly informative. This way the exact means of fixing the problem is provided in the message.
2025-03-04 19:26:18 -06:00
mosfet80
d20a9f1a40 clean FindOCC.cmake (#19755)
* clean FindOCC.cmake

cmake version is always major then 3.16.3
.

* Update cMake/FindOCC.cmake

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>

* Update cMake/FindOCC.cmake

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>

---------

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-03-04 16:10:12 -06:00
wmayer
bf5baa5de4 CMake: Remove FREECAD_USE_PYBIND11 as a build option 2025-03-04 08:07:46 -06:00
Maxim Moskalets
ca86613f5b Add support of compile/link jobs pooling 2025-03-03 18:51:27 -06:00