-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[patched-9] Update PythonQtGenerator CMake build-system to support Qt5 and Qt6 #89
base: patched-9
Are you sure you want to change the base?
Conversation
After #88 is integrated, this allows to generate Qt5 wrappers using command like the following: ./PythonQtGenerator \
--qt-version=5.15.2 \
--include-paths=/home/jcfr/Support/Qt/5.15.2/gcc_64/include/ \
--output-directory=/tmp/PythonQtGenerator-output/ This allows to generates wrappers similar to the ones referenced in jamesobutler@dfa14ff cc: @jamesobutler |
5ece53c
to
58781ab
Compare
This removes Qt4 support and adds support for Qt5 and Qt6.
58781ab
to
aa976ba
Compare
After trying to build against Qt6, I realized the minimum Qt version with a working set of Qt config CMake files allowing to configure with Attempting to configure against older version reported message like the following: Configuration error associated with Qt 6.2.4
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not surprisingly about the update to Qt >= 6.5 as that is what the upstream is testing against. Qt 6.2 LTS commercial support ends later this year. Ultimately the only thing really supported for open source is the latest release of Qt.
Also it appears that upstream may be adding Qt 5.15 generated bindings (MeVisLab/pythonqt#183) which could probably be compared to what is created here through the CMake build system.
Technically, Qt 5.15 is supported in open-source Rocky Linux 9 until 31 May 2032 and in open-source Rocky Linux 8 until 31 May 2029. It depends on your definition of support. Early 2030s seems like a good time to start looking at using Qt 6 as it might appear in LTS distros by then and may have reached a stability point of view like 5.15 :-) It will be interesting to see what RHEL/Rocky 10 ships with. |
The CommonTK organization primarily supports applications such as 3D Slicer and MITK. Since 3D Slicer is cross platform (Windows/macOS/Linux distros), it will soon support Qt 6 which will then be utilized by the published binaries. Although Qt 5.15 support isn't likely to be removed from this CommonTK fork of PythonQt, the applications that use it will be primarily developing on Qt 6 since Qt 5.15 extended support for open-source is limited as it is primarily for paying commercial license holders. 3D Slicer is quick to drop support to support new functionality with limited developer resources and generally only supports hardware up to 5 years old. |
(cherry-picked and adapted from MeVisLab/pythonqt@1e794e5) * minor improvements in code and unit tests * disable warnings for deprecated declarations * add -Wpedantic and even -Werror for src, but relax some warnings * fix undefined behavior * fix memory leaks * use QT_NO_CAST_TO_ASCII to prevent incorrect behavior on non-Latin1 input * Improvements in build and CI: ** add parallel build ** add `make check` support ** fix `debug`/`release` builds ** force C++11 ** introduce UBSan into CI ** fixes for macOS build with clang ** add pkg-config support: if PKGCONFIG is set, skip old-style lookup (useful on Linux and macOS GHA, when `python-config` returns incorrect linkage options with missing `-Ldirs`) ** add macOS GHA CI
- this has been introduced in commontk#89 and breaks builds including "pythread.h" - fixes #103 (cherry picked from commit MeVisLab/pythonqt@30ca585)
This removes Qt4 support and adds support for Qt5 and Qt6.