El diumenge, 20 de juny de 2021, a les 12:16:33 (CEST), Friedrich W. H. Kossebau va escriure: > Hi, > > small heads-up for everyone: as of yesterday, KDEFrameworksCompilerSettings > from current ECM development branch now sets > set(CMAKE_CXX_STANDARD 17) > set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
Semi-related question, does anyone know why we're not using set(CMAKE_CXX_EXTENSIONS OFF) ? Cheers, Albert > for all KF modules (triggered by required ECM 5.84.0 version, which was also > bumped yesterday in all KF module development branches already to activate > the > setting). > Any custom CMAKE_CXX_STANDARD settings as before present in some KF modules > have been removed as well, so all KF modules code should build now complying > to the C++17 standards, so everyone can also take advantage of those in new > code for KF modules from now on. > > > BEWARE (just to emphasize the obvious to you, so it can be referenced ;) ): > > As KF5 promises ABI & source backwards-compatibility for the KF5 series to > its > consumers, public KF headers need to stay compatible with projects using > C++11 > (or C++14). > So in public headers C++17 features can only be used for new API and also > needs to be guarded properly by respective preprocessor macros to not be seen > in C++<17 usages of KF headers. > > Cheers > Friedrich > > >