Commit Graph

372 Commits

Author SHA1 Message Date
Chris Hennes
c141cb3141 cMake: ensure the Shiboken target exists before using it 2024-08-05 10:46:22 -04:00
Jacob Oursland
26e8eb1f9f CMake: ensure shiboken does not introduce Py_LIMITED_API.
On some builds, the CMake package files for PySide6's Shiboken set the Py_LIMITED_API define on
the compiler's command line.  This breaks FreeCAD as it depends on definitions from the Python
Stable API unavailable with the Limited API.
2024-07-22 09:22:30 -07:00
Adrián Insaurralde Avalos
b49aca5d55 remove qtxmlpatterns from cmake scripts 2024-07-15 11:29:01 -05:00
Chris Hennes
9eeca1f6ad cMake: Fix LibPack3 install target DLL locations 2024-07-10 13:17:58 -05:00
Chris Hennes
99d63a9693 cMake: Fix extra copy line for printsupport plugins 2024-07-08 08:44:18 -05:00
Chris Hennes
c934a4bd64 cMake: Remove use of Core5Compat from Qt6 2024-07-08 11:59:09 +02:00
Chris Hennes
f28394a376 cMake: Make a failure to import Pivy non-fatal 2024-06-28 19:29:53 -05:00
Chris Hennes
3b8f615f7a cMake: Fix ENDIF() and clean up formatting 2024-06-28 13:50:30 -05:00
Chris Hennes
d01ce32a1f 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
fefd3851ac 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
ed672c5cd9 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
4185605d5e 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
9bc5675ab3 Correct flag 2024-05-20 12:40:52 -05:00
Chris Hennes
895803a8cb Toponaming: Enable FC_USE_TNP_FIX code 2024-05-20 12:40:52 -05:00
Yorik van Havre
76ad87d464 CMAKE: Do not strip lines when creating python resources 2024-05-16 17:23:10 +02:00
Yorik van Havre
76e901861d BIM: Renamed Arch to BIM 2024-05-16 17:23:10 +02:00
ppphp
4cd8b2ad15 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
fb513587b7 cMake: Restore wrappers for QtWebEngine 2024-05-06 08:08:35 +02:00
0penBrain
502f78e111 Make: use single dash argument for Apple toolchain 2024-05-01 14:04:45 -04:00
WandererFan
db22476450 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
0penBrain
7b85e8fc48 Cmake: pass 'undefined' with double dash so alternative linker can be used 2024-04-29 18:25:17 +02:00
hlorus
36d16b2243 [Measure] Add features, viewproviders and preferences for unified measurement facility 2024-04-29 09:27:22 -04:00
wwmayer
c4c453312d 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
5d7fec1e98 Web: remove QtWebEngine dependency 2024-04-21 22:27:50 -05:00
Chris Hennes
c35693fd8a 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
cfb0873d38 Start: Migrate to simple command 2024-04-21 22:27:50 -05:00
Chris Hennes
d0a87d3e0c Start: Remove old WB and replace with new 2024-04-21 22:27:50 -05:00
Chris Hennes
ef189f8bcf 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
233a61e54e 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
4b7b09d1f8 Clean FindEigen3.cmake (#12632) 2024-04-01 10:47:19 -05:00
Adrián Insaurralde Avalos
5a960792e5 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
dd518726f1 clean FindNETGEN.cmake
Removed redundant mac netgen setup
2024-02-29 17:36:40 -06:00
mosfet80
d8598139ce Clean ConfigureChecks.cmake
Clean cmake
2024-02-27 15:09:48 +01:00
mosfet80
637287e932 Clean FindPyCXX.cmake (#12333)
* Clean FindPyCXX.cmake
2024-02-19 11:25:01 -06:00
Ladislav Michl
3a603138bd 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
f32ed05a01 CMake: Move build options for Shiboken/Pyside to the top 2024-02-16 09:19:09 +01:00
Paddle
d77cd7acf5 Assembly: Introduce core functionality of assembly workbench. 2024-02-13 08:25:45 +01:00
mosfet80
006f64b64e Clean SetupQt.cmake (#12335)
* Update SetupQt.cmake
2024-02-12 12:08:09 -06:00
mosfet80
b546b17342 Clean CompilerChecksAndSetups.cmake
CMAKE_CXX_COMPILER_VERSION are always greater than  3.9
2024-02-12 12:05:11 -06:00
Ladislav Michl
8c220492e3 CMake: Fix searching for pip installed PySide 2024-01-22 06:58:17 +01:00
bgbsww
8abd09398a Add support for OCCT 7.8.0 (#11909) 2024-01-09 19:47:25 -06:00
looooo
8e2ab9f768 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
7ad74e1a73 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
4e020c14a3 CMake: Use /Z7 instead of /Zi when ccache is used. 2023-12-04 10:15:08 -07:00
wmayer
8f3fcd540a MSYS: fix CMake configure and build for MinGW 2023-12-03 18:02:07 +01:00
wmayer
e8d0485f94 Qt: fix failure for Qt version < 5.15 2023-11-21 23:10:03 +01:00
wmayer
132b077983 Qt: define Q_DISABLE_COPY_MOVE only if needed 2023-11-21 23:10:03 +01:00
Adrián Insaurralde Avalos
94f7398f36 Add OndselSolver as git submodule
also update github actions to pull submodules
2023-11-13 12:17:20 -05:00
Yorik van Havre
1c18768634 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
442bca834e 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