Skip to content

Make generator work for Qt6 #154

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

Merged
merged 44 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
a5f20ab
Better handling of "auto" and trailing return types "-> decltype()"
usiems Nov 10, 2023
8f10de3
Better handling of variadic templates
usiems Nov 10, 2023
a6baceb
Skip attribute specifiers like [[maybe_unused]]
usiems Nov 10, 2023
4965570
Fix types being rejected because they contain "constexpr"
usiems Nov 13, 2023
d13c281
Handle "friend" functions with implementation body...
usiems Nov 13, 2023
d846b1f
Treat constexpr as a function modifier, not as a type modifier
usiems Nov 14, 2023
81e8c7a
Treat noexcept inside of expressions
usiems Nov 14, 2023
8df305f
Fix expansion of variadic macros in preprocessor
usiems Nov 14, 2023
356e8ac
Fix handling of elif in preprocessor...
usiems Nov 14, 2023
9292768
Support for new-style initializers in expressions
usiems Nov 15, 2023
8c4d63b
Improve handling of new-style initializers
usiems Nov 14, 2023
ea43cc8
Improve type name handling
usiems Nov 14, 2023
645e98f
Make parsing more robust against shuffling of qualifiers/specifiers
usiems Nov 14, 2023
e5c6423
Fix missing includes for namespace items from different files
usiems Nov 14, 2023
690c1cc
Implement methods with lvalue/rvalue references, ...
usiems Nov 15, 2023
63d2603
Handle (templated) functions with packed parameters
usiems Nov 15, 2023
44f7872
Parse inline namespaces,
usiems Nov 17, 2023
04f2ee6
Parse string literal operator definition,
usiems Nov 17, 2023
6041f05
Some necessary defines for Qt6
usiems Nov 15, 2023
303e53b
Add some entries to typesystem files missing for Qt6
usiems Nov 15, 2023
1e2da90
Add new multimedia classes
usiems Nov 17, 2023
e1e85a2
Automatically add enums marked with Q_ENUM to TypeDatabase
usiems Nov 17, 2023
e06ac98
Fix uninitialized member
usiems Nov 20, 2023
97f79c2
Some more defines we don't need to parse
usiems Nov 20, 2023
eca4f5c
Q_PROPERTY might contain "REVISION(1, 1)"
usiems Nov 20, 2023
c0dcb99
Improve parsing of Q_PROPERTY types starting with "const"
usiems Nov 20, 2023
61c6557
Rename "after-version" attribute to "since-version"
usiems Nov 20, 2023
b059614
More missing or updated type entries
usiems Nov 20, 2023
07057fc
Also try to build against Qt 6.5
usiems Nov 20, 2023
c707bcc
Handle enum classes
usiems Nov 21, 2023
f88bbbb
Complete/fix scope for enum class values
usiems Nov 21, 2023
4c61ee7
Remove figureOutEnumValues and company
usiems Nov 21, 2023
f6f00fe
Do not add copy constructor if it was deleted or private
usiems Nov 22, 2023
2b6f1ce
QMutexLocker is a template now, don't know how to handle this
usiems Nov 22, 2023
65f9210
Fix handling of protected operators
usiems Nov 22, 2023
0eda5bf
Fix compiler warning (possibly unintended copy)
usiems Nov 22, 2023
051d222
Fix QList::swap missing the template argument in the argument type
usiems Nov 22, 2023
c421c83
I believe it is not necessary to create a shell for QPagedPaintDevice
usiems Nov 22, 2023
0ed126d
Try to fix library names and linking problems
usiems Nov 22, 2023
652a1fa
Make PythonQtTests compile with Qt6
usiems Nov 23, 2023
19cc4c2
Do not prepend enum class name for items of enum classes,
usiems Nov 23, 2023
6f81c9a
Avoid emitting QStringList* arguments as QStringList<QString>*
usiems Nov 24, 2023
84976a0
Avoid some compiler warnings
usiems Nov 24, 2023
9674bee
Skip alignas specifier
usiems Nov 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build_latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
qt-version: [ '5.12.*', '5.15.*' ]
qt-version: [ '5.12.*', '5.15.*', '6.5.*' ]
python-version: [ '3.12' ]
runs-on: ubuntu-latest
steps:
Expand All @@ -24,6 +24,7 @@ jobs:
uses: jurplel/install-qt-action@v3
with:
version: ${{ matrix.qt-version }}
modules: ${{startsWith(matrix.qt-version, '6') && 'qt5compat' || '' }}
archives: 'qtmultimedia qtlinuxextras qtbase qttools icu qtwayland'

- name: Setup Python ${{ matrix.python-version }}
Expand Down
8 changes: 5 additions & 3 deletions build/PythonQt.prf
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ CONFIG(debug, debug|release) {
DEBUG_EXT =
}

win32-g++: LIBS += $$DESTDIR/../lib/PythonQt-Qt5-Python$${PYTHON_VERSION}$${DEBUG_EXT}.dll
win32-*msvc*: LIBS += $$DESTDIR/../lib/PythonQt-Qt5-Python$${PYTHON_VERSION}$${DEBUG_EXT}.lib
unix: LIBS += -L$$DESTDIR/../lib -lPythonQt-Qt5-Python$${PYTHON_VERSION}$${DEBUG_EXT}
PYTHONQT_LIB_NAME=PythonQt-Qt$${QT_MAJOR_VERSION}-Python$${PYTHON_VERSION}$${DEBUG_EXT}

win32-g++: LIBS += $$DESTDIR/../lib/$${PYTHONQT_LIB_NAME}.dll
win32-*msvc*: LIBS += $$DESTDIR/../lib/$${PYTHONQT_LIB_NAME}.lib
unix: LIBS += -L$$DESTDIR/../lib -l$${PYTHONQT_LIB_NAME}
6 changes: 5 additions & 1 deletion extensions/PythonQt_QtAll/PythonQt_QtAll.pro
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ isEmpty( PYTHONQTALL_CONFIG ) {
qtHaveModule(svg):CONFIG += PythonQtSvg
qtHaveModule(sql):CONFIG += PythonQtSql
qtHaveModule(network):CONFIG += PythonQtNetwork
qtHaveModule(opengl):CONFIG += PythonQtOpengl
lessThan(QT_MAJOR_VERSION, 6) {
# module is empty in Qt6
qtHaveModule(opengl):CONFIG += PythonQtOpengl
}
qtHaveModule(xml):CONFIG += PythonQtXml
qtHaveModule(xmlpatterns):CONFIG += PythonQtXmlpatterns
qtHaveModule(multimedia):CONFIG += PythonQtMultimedia
Expand Down Expand Up @@ -93,6 +96,7 @@ PythonQtSvg {
DEFINES += PYTHONQT_WITH_SVG
Xinclude (com_trolltech_qt_svg)
QT += svg
!lessThan(QT_MAJOR_VERSION,6): QT += svgwidgets
}

PythonQtSql {
Expand Down
Loading