Commit Graph

19 Commits

Author SHA1 Message Date
Jacob Oursland
d2100466d2 Enable Reverse Engineering WB.
The Reverse Engineering WB was temporarily disabled as it didn't support Qt6.As it now supports Qt6,
it is time to re-enable the WB.
2025-11-20 17:39:49 -06:00
FilippoR
d92c8fbfa3 Use packit to build rpm and add it as check on pull request (#21063)
* Update spec file

use custom macro to package the source file

reformat freecad.spec

add script for build from source archive

use bcond macro

use standard builddir and don't delete it to fast local rebuild

configure cmake correctly to avoid moving file later

add tests

remove python bytecompile is default

build in RelWithDebInfo to generate correctly the debuginfo package (debug info will be stripped from standard package and a debuginfo package will be generated

export dev package for ondselsolver

export libondselsolver

use new macro for filtering requires provides

simplify regexp.
remove delete unused source
enable gui tests
other fix

Disabile gui test to avoid timeout

add timeout to tests

remove rpkg macro for archive extraction

refactor prepare for packit

small fix

Update package/fedora/freecad.spec

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

small fix

change packit configuration

fix format

fix packit

/packit build

authomatic build on commit

remove libkdtree++-devel missing in rawhide

* add packit configuration

escape changelog for spec file

add new build on release

simplify configuration to use only packit
remove script used to have only a spec file and build with 3 system
rpkg
custom bash script
packit

* add tests in test-farm

add test that read build time tests result

use default build type for pr build and always print buiild time tests result

fix and disable option without bundled_gtest

Update package/fedora/freecad.spec

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

Update package/fedora/freecad.spec

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* add github action

Update fedora-daily.yml

Potential fix for code scanning alert no. 203: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Update spec file

use custom macro to package the source file

reformat freecad.spec

add script for build from source archive

use bcond macro

use standard builddir and don't delete it to fast local rebuild

configure cmake correctly to avoid moving file later

add tests

remove python bytecompile is default

build in RelWithDebInfo to generate correctly the debuginfo package (debug info will be stripped from standard package and a debuginfo package will be generated

export dev package for ondselsolver

export libondselsolver

use new macro for filtering requires provides

simplify regexp.
remove delete unused source
enable gui tests
other fix

Disabile gui test to avoid timeout

add timeout to tests

remove rpkg macro for archive extraction

refactor prepare for packit

small fix

Update package/fedora/freecad.spec

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

small fix

change packit configuration

fix format

fix packit

/packit build

authomatic build on commit

remove libkdtree++-devel missing in rawhide

* add packit configuration

escape changelog for spec file

add new build on release

simplify configuration to use only packit
remove script used to have only a spec file and build with 3 system
rpkg
custom bash script
packit

* add tests in test-farm

add test that read build time tests result

use default build type for pr build and always print buiild time tests result

fix and disable option without bundled_gtest

Update package/fedora/freecad.spec

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

Update package/fedora/freecad.spec

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* add github action

Update fedora-daily.yml

Potential fix for code scanning alert no. 203: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* tentative fix test

* add verbose failed tests

* fix ctest

* Remove error file if 2 time is successful

* Update plan.fmf add IfcOpenShell-python3

* Update .packit.yaml

Update freecad.spec

Update plan.fmf

Update .packit.yaml

Update plan.fmf

* Update freecad.spec

* restore version

* add rpm cmake preset

* update tests

* add qt6-assistant deps

* use xvfb-run for QuantitySpinBox test

* fix ctest command

* clean

* restore Addon Manager: Add defusedxml dependency

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-27 12:06:38 -05:00
Jacob Oursland
ca3c25d764 CMake: add FREECAD_3DCONNEXION_SUPPORT to CMakePresets.json 2025-08-07 18:33:30 -05:00
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