debugfull & clang/ccache

Milian Wolff mail at milianw.de
Mon Jul 22 22:14:39 UTC 2013


On Monday 22 July 2013 22:28:08 Alexander Neundorf wrote:
> 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".

Yeah, I think at least loc 155 needs to include Clang. The block starting at 
loc 239 needs to also support Clang, whereas the code above with the version 
check should stay gcc specific.

Anyhow, I don't have a KF5 setup available, so I can't test this properly - so 
no patch from me for now :(

Cheers
-- 
Milian Wolff
mail at milianw.de
http://milianw.de


More information about the Kde-buildsystem mailing list