debugfull & clang/ccache

Alexander Neundorf neundorf at kde.org
Mon Jul 22 20:28:08 UTC 2013


Hi Millian,

On Tuesday 16 July 2013, Milian Wolff wrote:
> On Tuesday 16 July 2013 11:30:22 Andreas Pakulat wrote:
> > Hi,
> > 
> > On Mon, Jul 15, 2013 at 10:52 AM, Milian Wolff <mail at milianw.de> wrote:
> > > Hey guys,
> > > 
> > > the handling of CMAKE_BUILD_TYPE=debugfull in FindKDE4Internal.cmake is
> > > guarded by `if (CMAKE_COMPILER_IS_GNUCXX)` so it won't work if you use
> > > clang.
> > > It gets worse if you use ccache as well, i.e. via
> > 
> > Hmm, interesting, I just noticed that Debian seems to have dropped
> > support for Debugfull completely, only 1 reference in the file and that
> > is in a comment.
> > 
> > I'd say an "OR CMAKE_CXX_COMPILER_ID MATCHES 'clang'" should be
> > sufficient, the cmake manual hints towards the compiler id being set to
> > 'clang' (in a more or less unrelated part, but the other mentioned id's
> > match whats in that variable on the corresponding compilers). So the
> > line should be
> > 
> > if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES 'clang' )
> 
> OK, but the FindKDE4Internal contains more such checks and everywhere I
> wonder whether clang shouldn't do the same... I.e. more pedantic linker
> flags, determining include dirs, fPIE, visibility, etc. pp. - I actually
> wonder why I can compile stuff with clang at all ;-)
> 
> So, anyways. Should I write a patch with what you hint at as an initial
> step towards better clang support? Or do we need to think more about that?

There is/was nothing about clang in these files because nobody who used felt 
the need to fix it.
So thanks for your effort. :-)

While at it, could you please also have a look at extra-cmake-modules ( 
https://projects.kde.org/projects/kdesupport/extra-cmake-modules/repository ), 
in kde-modules/KDECompilerSettings.cmake there are the compiler settings for 
KF5. They have been moved there from FindKDE4Internal.cmake, so that whoever 
wants, can or cannot use the compiler settings from KDE.

...IS_GNU_CXX is not used anymore there, but instead always the COMPILER_ID, 
i.e. it is now compared against "GNU".

Thanks
Alex


More information about the Kde-buildsystem mailing list