Currently MITK does not build with Qt version >= 5.13 , mostly because of deprecated methods. In general we will stick with 5.12 since it is a long term support release of Qt, but this task will track preparations for Qt 5.13 compatibility.
Description
Revisions and Commits
rMITK MITK | |||
Restricted Differential Revision | rMITK119dbc557eb9 Unsupported/untested qt version is now a warning, not a cmake error |
Related Objects
- Mentioned In
- T27526: 2020 Week 27
T27033: Clean up stale remote branches
rMITKecfbeb80959e: Merge branch 'T26721-Qt-5.12-Fix'
rMITK73e4c8f2c3a9: Merge remote-tracking branch 'ericheim/T26721-qt-version-check' into T26721-Qt…
rMITKc556e27481e6: Merge branch 'T26721-Qt-5.12' - Mentioned Here
- rMITKe24e19794d8c: Set Qt 5.12 as minimum required version
rMITK813e0bf26539: Merge branch 'releases/2018-04'
rMITKc556e27481e6: Merge branch 'T26721-Qt-5.12'
Event Timeline
At least on Windows the Qt 5.13.1 CMake scripts do not work when trying to find Qt5UiTools as the script isn't able to find the release and debug library paths of Qt5Core. I had to manually set the corresponding CMake variables in the MITK-superbuild, the CTK-superbuild, the CTK-build, and the MITK-build.
For now we should stick with the Qt 5.12 LTS, as long as 5.13 does not work reliably (see Windows issue above). We can add a CMake warning/error for now that does not allow to proceed configuring MITK with Qt > 5.12.
Status as of now:
- releases/2018-04: Qt >5.12 is not allowed anymore, minimum required version still 5.11.1
- master: Qt > 5.12 is not allowed anymore, minimum required version now also 5.12
on MITK master:
commit c556e27481e6aa22919dcd0161556382ba4feb3e (HEAD -> master, origin/master, origin/HEAD)
Merge: 813e0bf265 e24e19794d
Author: Stefan Dinkelacker <s.dinkelacker@dkfz-heidelberg.de>
Date: Thu Oct 17 11:08:56 2019 +0200Merge branch 'T26721-Qt-5.12'
... if trying to build with Qt version 5.12.5:
CMake Error at CMakeLists.txt:268 (message): **Qt version 5.12 is not yet supported. We recommend using the latest long-term support version 5.12.x.**
On the other hand if trying to build with Qt version 5.11.3 (Debian/Devuan package) cmake complains that Qt was too old and wanted at least 5.12
Looks like some conflicting spec ? {version x | 5.12 <= x < 5.12} = {}
I wasn't able to build CTK with Qt 5.12.8 on Windows with Visual Studio 2019 16.6.0 and CMake 3.17.1 because of linker errors related to QLinkedList. I just tried the latest Qt 5.15 and at least CTK builds successfully. @neher told me some days ago that Qt 5.13 and/or 5.14 worked as well for him, so we should probably remove the hard check against Qt versions greater or equal to 5.13.
Qt 5.15 is not working with qwt 6.1, though.
edit: Not yet, but very soon: https://sourceforge.net/p/qwt/bugs/314/ Was able to build qwt with the latest snapshot of the 6.1 branch.
Our current version of VTK does not work with Qt 5.15. I'm just going back to 5.12.6 for now, as I didn't plan to pump so much time into this issue.
Sigh, CTK with Qt 5.12.6 fails with the same linker error (definitely worked in the past). I guess it is VS 2019 16.6.0 then.
When using Qt 5.13 on Ubuntu 20.04 I had no issues with our third party libraries, only a lot of deprecated warnings as errors in MITK and other minor issues.