Commit Graph

19 Commits

Author SHA1 Message Date
Jacob Oursland
f48db1f855 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
9cf380810a 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
b71214d1e3 CMake: add FREECAD_3DCONNEXION_SUPPORT to CMakePresets.json 2025-08-07 18:33:30 -05:00
Jackson Oursland
714a1e2e70 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
ff0b4b6325 remove conda dir since we have pixi 2025-07-07 18:20:28 +02:00
Jacob Oursland
8be9b5924d Pixi: remove explictly setting Qt6 now that it is the default. 2025-06-08 18:30:53 +02:00
Jacob Oursland
c56ae33493 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
7b759aae1a 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
bc2aba9618 pixi: Use the mold linker on Linux. 2025-04-15 06:42:55 +02:00
Jacob Oursland
9b3052cf75 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
be34ec2009 CMake: Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to CMakePresets.json 2025-04-08 13:24:58 -07:00
looooo
ed5815eb4d pixi: add pixi.toml and pixi.lock 2024-12-04 08:02:29 -08:00
Jacob Oursland
c80ab28f41 CMake: conda-macos-* do not search Homebrew for dependencies. 2024-09-13 12:28:05 -06:00
Jacob Oursland
0291603ffc 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
05bf9029b5 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
ba630dc71b 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
7573770b0c CMake: set FREECAD_USE_PYBIND11 on conda builds, not all. 2023-12-04 10:15:08 -07:00
Pesc0
46529fa897 downgrade cmakepresets version 2023-11-27 11:22:02 -06:00
Pesc0
0303af1ebb Vscode PR - split 1 - add cmakepresets (#11385)
* add CMakePresets.json
2023-11-16 12:49:54 -03:00