Commit Graph

25 Commits

Author SHA1 Message Date
Ladislav Michl
ffa658384d cMake: Adjust to the new names of find_pip_package return variables
Fixes: 55383a76419f ("Update for LibPack3")
2024-08-14 09:46:51 +02:00
Chris Hennes
1f67a96a66 cMake: ensure the Shiboken target exists before using it 2024-08-05 10:46:22 -04:00
Jacob Oursland
ada449f7f2 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
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
Yorik van Havre
a5e1f64d1f CMAKE: Do not strip lines when creating python resources 2024-05-16 17:23:10 +02:00
Chris Hennes
68ed7c1503 cMake: Restore wrappers for QtWebEngine 2024-05-06 08:08:35 +02: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
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
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
Ladislav Michl
cf3d084ca2 CMake: Fix searching for pip installed PySide 2024-01-22 06:58:17 +01:00
wmayer
0fcdeded7a CMake: improve handling of shiboken/PySide
* fix syntax error with message()
* if shiboken/PySide cannot be found print a warning instead of fatal error. Especially for Qt6 builds a self-compiled shiboken6/PySide6 is required that isn't necessarily installed into the system directories so that the (system) Python interpreter may fail to find them
2023-07-20 08:58:56 -05:00
luzpaz
a134129868 Fix various trailing whitespace issues 2023-02-16 09:30:22 -05:00
wmayer
fb565e4af9 PySide: [skip ci] fix typo 2023-01-01 11:01:13 +01:00
wmayer
24438bb10d PySide: in PySide6 QWebEnginePage has been moved to QtWebEngineCore 2023-01-01 10:31:13 +01:00
Chris Hennes
1fac3fead0 cMake: Add support for compiling against Qt6 (#7647)
Removes the BUILD_QT5 flag and adds a new FREECAD_QT_VERSION option,
which can be set to either "Auto" (default), 5, or 6. Auto detects which
version of Qt is installed on the system and chooses it. If both version
are installed, Qt5 is used.

Note that this DOES NOT implement compiling against Qt6, it only adds
the necessary cMake infrastructure to begin work on the source code
changes that will be required.
2022-10-31 09:24:09 -05:00
berniev
3d4bc17bbb give success message normal prominence 2022-08-06 23:27:23 -04:00
Chris Hennes
4e5c852a9b Modify Python checks when cMake >= 3.12 2021-03-06 21:11:34 +01:00
Chris Hennes
c237fae4aa Drop build-system support for Qt4 and Python 2
Also increase minimum CMake, GCC, and Clang versions to match
Ubuntu 18.04 LTS. This sets our minimum supported version of the C++
standard to C++17.
2021-03-06 21:10:44 +01:00
wmayer
130003d533 CMake: [skip ci] add build option to let the user decide to link with shiboken/PySide at build time 2020-06-10 14:17:50 +02:00
wmayer
5ffb62d8c5 CMake: [skip ci] add build option to let the user decide to link with shiboken/PySide at build time 2020-06-10 10:18:47 +02:00
looooo
1caf994858 cmake: pyside2: try other solution 2019-10-21 23:33:26 +02:00
looooo
504cbd84a7 cmake: pyside2: we also need headers from shiboken and pyside2 2019-10-05 17:15:29 +02:00
looooo
84fe44cb32 cmake: pyside2 config fix 2019-09-28 12:43:28 +02:00
ezzieyguywuf
aa7419b203 Move logic out of CMakeLists.txt
This is an initial pass, simply moving the existing logic as-is. Future
PR's will attempt to refactor and improve the cmake stuff.
2019-09-26 18:54:45 +02:00