Commit Graph

235 Commits

Author SHA1 Message Date
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
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
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
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
075ba7f0ef CMake: Silence Coin3D deprecation warning 2025-03-04 20:37:47 -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
Joao Matos
ed27ab85de CMake: Add GCC/Clang -fdiagnostics=color compiler option. 2025-03-03 18:13:39 +01:00
Chris Hennes
98537f00b1 Merge pull request #19626 from tritao/qt-gl-cleanup
Gui: Remove QtOpenGL.h.
2025-03-02 16:22:57 -06:00
marioalexis
50a4605232 CMake: Add FREECAD_USE_PYSIDE and FREECAD_USE_SHIBOKEN to final report 2025-02-26 14:25:40 -03:00
marioalexis
612d7b541c CMake: Fix PySide major version comparison 2025-02-26 14:25:40 -03:00
Joao Matos
c3e5069190 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
19b0e0e279 CMake: Force OpenGL to use legacy 2025-02-25 13:26:02 -06:00
Joao Matos
15076cb504 Core: Move PyCXX library to src/3rdParty. 2025-02-24 16:36:06 +00:00
Chris Hennes
54997b4486 CMake: Remove support for old CMake versions 2025-02-22 20:48:44 -06:00
Chris Hennes
60a43400e2 CMake: Correct use of CACHE 2025-02-22 20:48:44 -06:00
Chris Hennes
bfeed4c05e CMake: PySide cleanup 2025-02-22 20:48:44 -06:00
Chris Hennes
0f4da7a529 CMake: Expand note about BOOST_PP_VARIADICS=1 2025-02-22 20:48:43 -06:00
Chris Hennes
b09e1436cf CMake: Update compiler and standard mins 2025-02-22 20:48:43 -06:00
bofdahof
0058b0d61c Remove OpenCascade Community Edition 2025-02-21 14:21:21 -06:00
bofdahof
11ed923503 Remove second vtk listing. See #19607 2025-02-21 14:18:10 -06:00
Joao Matos
6452050808 CMake: Update minimum Python version to 3.10 2025-02-21 09:45:13 -06:00
lorenz
dcaf752b16 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
aace8f7bee CMake: Modernize build files using outdated Python variables. 2025-02-16 10:21:26 -06:00
Andrea
146d8a356b 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
0931abe4d5 Add Vtk to cmake report 2025-02-15 10:22:09 -06:00
tritao
80b299bb88 Base: Move zipios library to 3rdParty folder. 2025-02-14 13:08:28 -06:00
tritao
f7a0cece08 Base: Remove Boost-based filesystem and switch to standard <filesystem> 2025-02-10 10:48:54 -06:00
Joao Matos
5931e3295d CMake: Improve Pivy Coin3D version mismatch checking. 2025-02-10 10:41:47 -06:00
Patryk Skowroński
02d07163d1 Fixed CMake files 2025-02-04 11:04:27 -06:00
tritao
9d53b7190a CMake: Provide build flag to enable compile time tracing. 2025-01-29 06:50:37 -06:00
tritao
91570a74c6 CMake: Provide build flag to enable libc++ standard library. 2025-01-29 06:50:37 -06:00
Chris Hennes
06143dcb15 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
e697eddd06 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
97e24f10f8 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
b06693ffa2 Merge pull request #18783 from tritao/cmake-coin-target
CMake: Coin3D build fixes
2025-01-18 12:50:57 -05:00
tritao
b064827bea CMake: Issue a non-fatal error when module dependency is not found. 2025-01-14 15:45:21 -06:00
Patryk Skowroński
481a7915eb Merge branch 'main' into tdx-mac 2025-01-09 16:07:02 +01:00
Patryk Skowroński
4fff527b1f Fixed CMake files for a runtime switch 2025-01-09 16:03:51 +01:00
Joao Matos
02dc93ebea CMake: Try searching for Coin3D in config mode 2024-12-28 20:49:36 +00:00
Joao Matos
f1e6f03141 CMake: Use Coin3d CMake target directly if one exists. 2024-12-28 20:49:01 +00:00
wmayer
db1b1d8108 MSVC: Fix linking error when 3Dconnexion support is set to 'Raw input' 2024-12-20 18:32:09 -05:00