Commit Graph

16 Commits

Author SHA1 Message Date
Jackson Oursland
e49a985398 Weekly build fixes (#22699)
* CI: use CMAKE_ARGS for weekly builds.
* CI: set CC and CXX for windows weekly build.
* CMake: add OCCT libraries path to CMakePresets.json.
* CI: synchronize CMake config for weekly-build with FreeCAD-Bundle.
* CI: fix path to OCCT in weekly-builds.

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-07-24 17:01:58 +00:00
Zbyněk Winkler
7f3c6923b4 remove conda dir since we have pixi 2025-07-07 18:20:28 +02:00
Jacob Oursland
26bcc44b84 Pixi: remove explictly setting Qt6 now that it is the default. 2025-06-08 18:30:53 +02: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
Jacob Oursland
e72c95943f pixi: use clang on Linux.
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.
2025-04-15 13:04:13 +02:00
Jacob Oursland
b9ca0db183 pixi: Use the mold linker on Linux. 2025-04-15 06:42:55 +02:00
Jacob Oursland
8af8b7d0e9 CI/CD: Implement weekly builds.
Brings over the functionality in https://github.com/FreeCAD/FreeCAD-Bundle
to build Linux AppImage, macOS .dmg, and Windows 7z releases.

This version also creates a tagged release for each build, creating an
archive of the weekly builds as well as the ability to easily tie each
build to a git commit.  This will make running 'git bisect' easy to
identify sources of regressions.
2025-04-09 14:55:56 -07:00
Jacob Oursland
3b3604187e CMake: Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to CMakePresets.json 2025-04-08 13:24:58 -07:00
looooo
a453920c30 pixi: add pixi.toml and pixi.lock 2024-12-04 08:02:29 -08:00
Jacob Oursland
2c4ec6da3c CMake: conda-macos-* do not search Homebrew for dependencies. 2024-09-13 12:28:05 -06:00
Jacob Oursland
bbe945b1e7 CMake: Use RelWithDebInfo for Conda Windows Debug builds.
Python is not provided with debug libraries, so debug builds are not possible.
Building as RelWithDebInfo will build debug information for the binary, while
using the available release libraries.
2024-08-19 12:13:32 -04:00
Snow Faerie
7a1038e56c Generate compile_commands.json
Modify CMakePresets.json to use -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
in all the presets.

The compile_commands.json file can be used by tools like clangd to get
autocompletion and go-to-definition.

This patch also adds compile_commands.json to the .gitignore, as often
you need to symlink the compile_commands.json from the build directory
into the source directory for it to be picked by tools. That is the case
with clangd at least.
2024-07-22 10:49:34 -05:00
mosfet80
67508fdc9b Update CMakePresets.json
Updated requested cmake version, I used the same version present in cmakelist.txt
2024-01-08 21:30:10 -03:00
Jacob Oursland
a95c5353b0 CMake: set FREECAD_USE_PYBIND11 on conda builds, not all. 2023-12-04 10:15:08 -07:00
Pesc0
81a2b0ddb4 downgrade cmakepresets version 2023-11-27 11:22:02 -06:00
Pesc0
77b6e29371 Vscode PR - split 1 - add cmakepresets (#11385)
* add CMakePresets.json
2023-11-16 12:49:54 -03:00