Issue with KF5
From the last few weeks, I’ve been working on the build system. Last week, I ported the CMake files that can use both Qt 5 and 6 versions. I wanted to build digiKam with Qt6. All external dependency issues had been taken care of by now and only one dependency remained that in-turn depended on Qt5, KDE Frameworks 5.
This week I accelerated my attempts to build KF5 components that were needed by digiKam to build with Qt6. I successfully built KConfig and KI18n with Qt6 locally. If I had more time in my hands, I would have certainly built all required components. We decided that porting Qt Core5Compat module code is more important to be completed in GSoC first and we can carry on building KF5 after GSoC as well.
Core5Compat module
The last porting step is to port code depending on Core5Compat module. Most simplest way is to link this module alongwith Qt Core. However, some manual intervention was needed in some instances so we decided to complete this step as we have enough time for this.
Classes we need to port:
Core5Compat Class | Degree of use in digiKam |
---|---|
QRegExp | Heavily used |
QStringRef | Used at some places |
QTextCodec | Used at some places |
QXmlSimpleReader | Used in one class |
This week, I created these MRs for QRegExp, QStringRef:
- Port QRegExp to QRegularExpression in dplugins
- Port QRegExp to QRegularExpression in libs/database
- Port QRegExp to QRegularExpression in core/libs
- Port QStringRef to QStringView
- Port QRegExp::exactMatch()
- Port QRegExp in advancedrename tool
These are incomplete and needs review. Next week this step will continue.
Thanks for reading!