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<[email protected]> 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

Reply via email to