Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
6.2.4, 6.3.0 RC
-
None
-
4d17ecbcd (dev), 49e1615c9 (dev), adcc3e432 (dev), a3c36e681 (dev), d06e0782b (dev), 2f972e161 (dev), 7c400addd (6.5), 1bf7f2ddd (6.5), 1596ece60 (6.5), 30689d0f9 (6.5), 17abf4ee4 (6.5), 85eef58b6 (6.5), cc05db046 (6.4), 3d3ece9f5 (dev), 610731982 (6.4)
Description
By #include ing not only the *.moc, but also the moc_*.cpp files, we can speed up compilation of Qt (albeit not for users of Qt), reduce the TEXT size of libraries, and enable more warnings (like Clang's -Wunused-private-field). By the time we tackle this, there should be a new includemocs6 script (from QTBUG-102886) in QtBase, that no longer requires a qmake build to operate.
- Acceptance criteria: mocs_compilation.cpp files should not #include anything.
- Backport to all branches (6.3, 6.2, 5.15).
- Script incl wrapper: https://codereview.qt-project.org/c/qt/qtbase/+/409553
- inspiration in case stuff goes wrong:
- no QT_END_NAMESPACE found: https://codereview.qt-project.org/c/qt/qtdeclarative/+/409613
- no .cpp found to include the moc-file:
- simple: https://codereview.qt-project.org/c/qt/qtconnectivity/+/409378
- a bit more complicated: https://codereview.qt-project.org/c/qt/qtdeclarative/+/409612
If you have questions, ask mmutz.
Attachments
Issue Links
- clones
-
QTBUG-103289 include moc files [QtRemoteObjects]
-
- Open
-
For Gerrit Dashboard: QTBUG-103290 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
448369,1 | Include moc_*.cpp files in QtMM examples | 6.4 | qt/qtmultimedia | Status: NEW | 0 | 0 |
447758,16 | Include moc_*.cpp files | dev | qt/qtmultimedia | Status: ABANDONED | 0 | 0 |
448091,4 | Include moc_*.cpp files in main QtMM code | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448128,5 | Include moc_*.cpp files in QtMM examples | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448134,3 | Include moc_*.cpp files in QtMM tests | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448139,4 | Include moc_*.cpp files in QtMM AVF plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448141,3 | Include moc_*.cpp files in QtMM ffmpeg plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448301,3 | Include moc_*.cpp files in QtMM gstreamer plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448346,3 | Include moc_*.cpp files in QtMM windows plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448360,2 | Include moc_*.cpp files in QtMM AVF plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448361,2 | Include moc_*.cpp files in QtMM AVF plugin | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448362,2 | Include moc_*.cpp files in main QtMM code | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448363,4 | Include moc_*.cpp files in main QtMM code | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448364,2 | Include moc_*.cpp files in QtMM gstreamer plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448365,4 | Include moc_*.cpp files in QtMM gstreamer plugin | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448366,2 | Include moc_*.cpp files in QtMM ffmpeg plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448367,4 | Include moc_*.cpp files in QtMM ffmpeg plugin | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448368,2 | Include moc_*.cpp files in QtMM examples | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448370,2 | Include moc_*.cpp files in QtMM tests | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448371,1 | Include moc_*.cpp files in QtMM tests | 6.4 | qt/qtmultimedia | Status: DEFERRED | 0 | 0 |
448496,2 | Include moc_*.cpp files in QtMM windows plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448497,2 | Include moc_*.cpp files in QtMM windows plugin | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448655,3 | Include moc_*.cpp files in QtMM android plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448661,2 | Include moc_*.cpp files in QtMM qnx plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448662,2 | Include moc_*.cpp files in QtMM wasm plugin | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448909,2 | Include moc_*.cpp files in QtMM android plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448910,2 | Include moc_*.cpp files in QtMM android plugin | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448911,1 | Include moc_*.cpp files in QtMM wasm plugin | 6.4 | qt/qtmultimedia | Status: ABANDONED | 0 | 0 |
448912,2 | Include moc_*.cpp files in QtMM wasm plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448913,2 | Include moc_*.cpp files in QtMM qnx plugin | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
448914,2 | Include moc_*.cpp files in QtMM qnx plugin | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
453076,2 | Include moc_*.cpp in screencapture example | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |