Commit Graph

369 Commits

Author SHA1 Message Date
Chris Hennes
b61246b9fb cMake: Fix LibPack3 install target DLL locations 2024-07-10 13:17:58 -05:00
Chris Hennes
321fbc544b cMake: Fix extra copy line for printsupport plugins 2024-07-08 08:44:18 -05:00
Chris Hennes
cc2883312b cMake: Remove use of Core5Compat from Qt6 2024-07-08 11:59:09 +02:00
Chris Hennes
a42a961b76 cMake: Make a failure to import Pivy non-fatal 2024-06-28 19:29:53 -05:00
Chris Hennes
7487251d0c cMake: Fix ENDIF() and clean up formatting 2024-06-28 13:50:30 -05:00
Chris Hennes
5e47f6804f Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3

Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC,
and changes to cMake setup to support the new Libpack.

* NETGENPlugin: Fix compilation with MSVC and OCCT 7.8

* Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC

* Base: Prevent accidental definition of MIN and MAX by MSVC

* cMake: Prevent accidentally finding an old LibPack

* Material: Wrap another ParseTuple call

* OCCT: Modify includes for 7.8.x

* Part: Change TNP code to use Wrapped_ParseTupleAndArgs

* Spreadsheet: Workaround for MSVC macro pollution

* Mesh: Workaround for MSVC macro pollution

* Base: Remove extra MSVC flag (moved to CMake)

* Tests: Fix compiling with /permissive-

* FEM: Fix Qt warnings about duplicate element names

* cMake: Ensure major version numbers are set

* Address review comments.

* cMake: Further tweaks for LibPack3

* cMake: Modify specification of compiler flags for MSVC

* Main: Remove QtQuick testing code

* cmake: Find Boost before SMESH (which uses it)

* Fixes for LibPack2

* cMake: Another try at importinhg VTK cleanly
2024-06-24 18:25:05 +02:00
Patryk Skowroński
6c747178cf Spaceball settings tabs removal from the Customize panel (#14589)
* Removed Spaceball tabs for NavLib integration

* Added missing CMake variable for MacOS/Linux platform

---------

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
2024-06-24 11:06:25 -05:00
wmayer
1f4b8d74d5 MSVC: Fix crash with std::mutex
See https://stackoverflow.com/questions/78598141/first-stdmutexlock-crashes-in-application-built-with-latest-visual-studio
2024-06-16 19:45:16 -05:00
wmayer
560cab6f31 clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
Chris Hennes
9ef8cf58b3 Correct flag 2024-05-20 12:40:52 -05:00
Chris Hennes
56923c5476 Toponaming: Enable FC_USE_TNP_FIX code 2024-05-20 12:40:52 -05:00
Yorik van Havre
a5e1f64d1f CMAKE: Do not strip lines when creating python resources 2024-05-16 17:23:10 +02:00
Yorik van Havre
f21a3b3ec9 BIM: Renamed Arch to BIM 2024-05-16 17:23:10 +02:00
ppphp
7096125038 fix some warnings: cmake string quotes and float mark (#13909)
Co-authored-by: liukaiwen <kaiwen.liu@zixel.cn>
2024-05-13 11:55:59 -04:00
Chris Hennes
68ed7c1503 cMake: Restore wrappers for QtWebEngine 2024-05-06 08:08:35 +02:00
0penBrain
1483838c19 Make: use single dash argument for Apple toolchain 2024-05-01 14:04:45 -04:00
WandererFan
dd09bd2b53 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
0penBrain
a8cdbe4672 Cmake: pass 'undefined' with double dash so alternative linker can be used 2024-04-29 18:25:17 +02:00
hlorus
bed703a6f9 [Measure] Add features, viewproviders and preferences for unified measurement facility 2024-04-29 09:27:22 -04:00
wwmayer
dd9da969e9 PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in PySide6 (#13554)
* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6
* In the Arch and Material modules use the QtSvgWidgets module
* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets
  a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2024-04-22 18:35:33 -04:00
Chris Hennes
e4ea12db27 Web: remove QtWebEngine dependency 2024-04-21 22:27:50 -05:00
Chris Hennes
bd96ddef8a Web: Remove GUI
Web no longer provides a user-visible browser, but only a simple server for remote interaction with FreeCAD. Dependency on QtWebWengine has been removed.
2024-04-21 22:27:50 -05:00
Chris Hennes
f68c2de569 Start: Migrate to simple command 2024-04-21 22:27:50 -05:00
Chris Hennes
820b16ef6b Start: Remove old WB and replace with new 2024-04-21 22:27:50 -05:00
Chris Hennes
57bc297005 Start: Recreate start as a QtWidgets-based app
Removes all Start network access and dependency on Chromium for rendering. Written
entirely in C++ (no HTML, CSS, JS, etc.).
2024-04-21 22:27:49 -05:00
Patryk Skowroński
43ddbb4936 New integration with 3Dconnexion devices (#12929)
* New integration with 3Dconnexion devices

* CMake build option hidden for Mac

* Minor fixes, to be squashed to previous commit

* cmake: fix indent and case; to be squashed

* Corrected name case

---------

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Ladislav Michl <ladis@linux-mips.org>
2024-04-15 10:43:45 -05:00
mosfet80
01b0ae5d81 Clean FindEigen3.cmake (#12632) 2024-04-01 10:47:19 -05:00
Adrián Insaurralde Avalos
0910d7e814 Material: fix windows debug builds
Material: fix cmake linking of yaml-cpp<0.7.0
write version in final report
2024-04-01 10:38:23 -05:00
mosfet80
93a1df3fba clean FindNETGEN.cmake
Removed redundant mac netgen setup
2024-02-29 17:36:40 -06:00
mosfet80
4b47b9f5aa Clean ConfigureChecks.cmake
Clean cmake
2024-02-27 15:09:48 +01:00
mosfet80
26e072679c Clean FindPyCXX.cmake (#12333)
* Clean FindPyCXX.cmake
2024-02-19 11:25:01 -06:00
Ladislav Michl
dbb46bcad8 CMake: Fix include path returned by find_pip_package
SetupShibokenAndPyside macro checks module include path and eventually
decides to disable respective module in case its include directory is
missing. Make this process more straightforward by testing directory
existence; "Location: " string is 10 not 9 characters long and leading
whitespace makes testing for directory name fail.
While there, rename variables to respect that find_pip_package returns
only single include and library path.
2024-02-16 09:19:09 +01:00
Ladislav Michl
2813981130 CMake: Move build options for Shiboken/Pyside to the top 2024-02-16 09:19:09 +01:00
Paddle
1d7671942f Assembly: Introduce core functionality of assembly workbench. 2024-02-13 08:25:45 +01:00
mosfet80
fe1ee63f2f Clean SetupQt.cmake (#12335)
* Update SetupQt.cmake
2024-02-12 12:08:09 -06:00
mosfet80
b102c5968f Clean CompilerChecksAndSetups.cmake
CMAKE_CXX_COMPILER_VERSION are always greater than  3.9
2024-02-12 12:05:11 -06:00
Ladislav Michl
cf3d084ca2 CMake: Fix searching for pip installed PySide 2024-01-22 06:58:17 +01:00
bgbsww
bd1fc0fc03 Add support for OCCT 7.8.0 (#11909) 2024-01-09 19:47:25 -06:00
looooo
a7e8141cba set INSTALL_TO_SITEPACKAGES to ON by default
and add some modules to the freecad-namespace (freecad.part, freecad.partdesign, freecad.sketcher)
2024-01-08 14:40:32 -03:00
David Lanzendörfer
55cddc51c0 Adding version check (#11795)
* Adding version check

* Add compat component for Qt6

* Remove too many qts

* Fix include path

---------

Co-authored-by: David Lanzendörfer <leviathan@libresilicon.com>
2024-01-05 11:08:13 -06:00
Jacob Oursland
ca86dccb42 CMake: Use /Z7 instead of /Zi when ccache is used. 2023-12-04 10:15:08 -07:00
wmayer
e785786673 MSYS: fix CMake configure and build for MinGW 2023-12-03 18:02:07 +01:00
wmayer
db2ee587c0 Qt: fix failure for Qt version < 5.15 2023-11-21 23:10:03 +01:00
wmayer
7c0ba9f6d1 Qt: define Q_DISABLE_COPY_MOVE only if needed 2023-11-21 23:10:03 +01:00
Adrián Insaurralde Avalos
fc495c1c12 Add OndselSolver as git submodule
also update github actions to pull submodules
2023-11-13 12:17:20 -05:00
Yorik van Havre
31b0896cf0 Merging the Help module (#11008)
* Adding the Help module - fixes 10527, fixes #10512

* Aded Help to pre-commit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-16 11:17:06 -05:00
David Carter
37c7169ee4 Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:15 -04:00
David Carter
902af79514 Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:01 -04:00
PaddleStroke
09d50dc072 Assembly: Initial implementation (#10427)
* Assembly: Initial implementation.
* Disable Assembly wb as it's WIP.
* Stub code for handling assembly import.

Co-authored-by: sliptonic <shopinthewoods@gmail.com>
Co-authored-by: Paddle <PaddleStroke@users.noreply.github.com>
2023-08-31 12:30:10 -05:00
Chris Hennes
00b45b14d5 Test: Begin QuantitySpinBox QTests 2023-08-12 10:23:43 -07:00