diff options
author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2021-02-23 12:04:19 +0100 |
---|---|---|
committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2021-07-10 11:37:17 +0200 |
commit | 12af1e4e5a7352c3bbd4660aedc0010f108eb377 (patch) | |
tree | e7b16eac7f38eb16020b8119c5fd345631e10e84 /docs/module | |
parent | d6a2594c9e19451d2027b17094793bcf772dda6d (diff) | |
download | extra-cmake-modules-12af1e4e5a7352c3bbd4660aedc0010f108eb377.tar.gz extra-cmake-modules-12af1e4e5a7352c3bbd4660aedc0010f108eb377.tar.bz2 |
KDECompilerSettings: add KDE_COMPILERSETTINGS_LEVEL & more settings
There is desire for having more strict compiler settings by default over
what the KDECompilerSettings have been declaring until now. This means
making more use of modern features usually and being less
tolerant about the use of deprecated ones.
While some projects have used KDEFrameworksCompilerSettings to get more
modern requirements by just a single macro include, that was not the
intent of that module, and now is also warned about in the docs.
Instead of adding a new separate dedicated module e.g. named
KDEStricterCompilerSettings, with a separate version scheme for sets
of strict settings, the existing KDECompilerSettings macro file is instead
extended as well as are the ECM versions reused to define the different
sets of settings. As these settings are getting more strict by the time,
e.g. allowing less of old & deprecated code, these sets are considered as
kind of levels.
To enable the clients to control the required settings level, a
dedicated variable KDE_COMPILERSETTINGS_LEVEL is introduced, which
for convenience defaults to the minimum required ECM version, so only
needs to be set when the need for other newer features provided by ECM
does not go along the settings level of that ECM version.
As some projects might have needs not exactly matching a certain settings
level, additionally the settings can be optionally individually
controlled by specific variables, to be set again before including
KDECompilerSettings.
Diffstat (limited to 'docs/module')
0 files changed, 0 insertions, 0 deletions