Proposal: Remove "Frameworks compiler requirements and Modern C++" from Policies
Nicolas Fella
nicolas.fella at gmx.de
Tue Nov 25 09:46:03 GMT 2025
Am 25.11.25 um 10:21 schrieb Albert Astals Cid:
> El dimarts, 25 de novembre del 2025, a les 1:35:03 (Hora estàndard d’Europa
> central), Michael Pyne va escriure:
>> On 11/24/25 3:58 PM, Neal Gompa wrote:
>>> On Mon, Nov 24, 2025 at 3:54 PM Albert Astals Cid<aacid at kde.org> wrote:
>>>> https://community.kde.org/Frameworks/Policies#Frameworks_compiler_require
>>>> ments_and_Modern_C++
>>>>
>>>> It is wildly outdated, so I would suggest to remove it.
>>>>
>>>> Or does someone have a suggested way to update it?
>>> As far as I know, starting from 6.0, we require a C++20 capable
>>> compiler. That means at least GCC 12, Clang 14, or MSVC 2022 I
>>> believe.
We did say we _want_ C++20. What specific compiler versions this
translates to is rather fuzzy since different compiler versions
implements different subsets of C++20 (e.g. for the longest time
"nobody" usefully implemented modules). Because of that I don't think we
ever settled on specific versions.
>> I think there is value in having the policy for allowable C++ standards
>> and/or compilers written down in some easily-accessible form. Perhaps a
>> bit more future-proofed so it doesn't get wildly outdated again. I've
>> been able to find references to requiring C++20-supporting compilers for
>> KF6 starting from 6.0.
> The problem is, what is the value of a policy if we do not check/enforce it?
>
> Right now the only thing we can say is "it builds with whatever compilers we
> have in CI".
Even if we don't enforce it by CI there is still value to it. If
somebody comes around and points out that we broke compilation on
"reasonably recent platform" that's going to be a different conversation
than if it's Ubuntu 14.04.
> Cheers,
> Albert
>
>> Are there any other relevant policies that apply to KF6 for C++ support
>> and/or compiler support? Assuming not, I'd propose that the page be
>> updated to note that KDE Frameworks require a C++20-compatible compiler,
>> and that the compiler must also be supported by the minimum required Qt
>> version as listed in the prior section.
>>
>> If it were not for Qt supporting as far back as GCC 9 (for openSUSE) we
>> might simply be able to require the same compiler Qt requires. But it's
>> not until GCC 12 you get nearly full support for C++20 (and even 12
>> still misses parts of C++ modules support), so it's probably still worth
>> mentioning we require a C++20-capable compiler.
>>
>> I'll volunteer to update the page if that works, something along the
>> lines of KF6 requires a C++ compiler that is compliant with at least
>> C++20 and supported by the oldest supported Qt 6 minor release.
>>
>> Regards,
>>
>> - Michael Pyne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20251125/f3bfcc32/attachment-0001.htm>
More information about the Kde-frameworks-devel
mailing list