Commit Graph

26 Commits

Author SHA1 Message Date
Joao Matos
27ebc68a11 CMake: Modernize build files using outdated Python variables. 2025-02-16 10:21:26 -06:00
Ladislav Michl
5a11cfdf55 cMake: Adjust to the new names of find_pip_package return variables
Fixes: d01ce32a1f ("Update for LibPack3")
2024-08-14 09:46:51 +02:00
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
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
Yorik van Havre
76ad87d464 CMAKE: Do not strip lines when creating python resources 2024-05-16 17:23:10 +02:00
Chris Hennes
fb513587b7 cMake: Restore wrappers for QtWebEngine 2024-05-06 08:08:35 +02: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
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
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
Ladislav Michl
8c220492e3 CMake: Fix searching for pip installed PySide 2024-01-22 06:58:17 +01:00
wmayer
08e239e9f7 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
08b3bf4462 Fix various trailing whitespace issues 2023-02-16 09:30:22 -05:00
wmayer
ad1663245b PySide: [skip ci] fix typo 2023-01-01 11:01:13 +01:00
wmayer
f26bf54876 PySide: in PySide6 QWebEnginePage has been moved to QtWebEngineCore 2023-01-01 10:31:13 +01:00
Chris Hennes
2f7be9e782 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
71c720efc8 give success message normal prominence 2022-08-06 23:27:23 -04:00
Chris Hennes
7bbff520a0 Modify Python checks when cMake >= 3.12 2021-03-06 21:11:34 +01:00
Chris Hennes
13b9127eee 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
b2c72a212d 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
6c2815214a 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
7222b32cde cmake: pyside2: try other solution 2019-10-21 23:33:26 +02:00
looooo
3939e4543e cmake: pyside2: we also need headers from shiboken and pyside2 2019-10-05 17:15:29 +02:00
looooo
03a17b1564 cmake: pyside2 config fix 2019-09-28 12:43:28 +02:00
ezzieyguywuf
63c45d3ba4 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