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.
clang uses considerably less memory on Linux allowing more concurrent instances than with g++.
Using clang reduced build times on a machine from 63m to 32m.
* 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>
* BIM: fix BIM_WPView command
The BIM_WPView command did not work properly. This was mainly due to a faulty import.
* Updated to avoid a linter warning
Fixes#20723.
The clearAll method resets the column widths of the sheet. The code now stores the old widths and restores them after calling the method.
The old problem that the method would remove the custom property no longer occurs so that code was removed.
* App: Add second direction to getCameraAlignmentDirection()
* Part: Find longest face edge for horizontal/vertical alignment
* Gui: Use longest face edge for horizontal/vertical alignment
* App: Improve horizontal/vertical alignment for Datums and LCS
* Sketcher: Refactor DrawSketchHandler::seekAutoConstraint
* to squash
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update DrawSketchHandler.h
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* move to protected. To squash
* remove arc of ellipse forgotten if
* Update DrawSketchHandler.cpp
* Update src/Mod/Sketcher/Gui/DrawSketchHandler.h
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
* Update DrawSketchHandler.h
* Update DrawSketchHandler.cpp
* revert hitshapedir
* Remove never used if condition
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
* MOD: assembly clean
clean code
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update AssemblyLink.cpp
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Adds a generic C++ based caching library to support material external
modules. This is a template based library which means there is nothing
to build or link.
The only modification is to the CMakeLists.txt file to enable
integration with FreeCAD,
Original source: https://github.com/goldsborough/lru-cache
pixi sets a variety of environment variables, which unfortunately includes compiler optimization flags.
This PR unsets the compiler flags for parity with other environments.
A consequence of this is that debug builds are no longer build with high optimization, which is a desirable outcome.
* renamed SoFCCSysDragger to SoTransformDragger
* moved TDragger, RDragger and TPlanarDragger to separate files and also renamed them to be more descriptive
Before this commit, these doc strings were unassociated, which means
that the can appear at random places. They are now associated with
their namespace an class.
* CAM Multiline POSTAMBLE and PREAMBLE in old postprocessors
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* CAM: Fix preamble and postamble help text
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>