debugfull & clang/ccache

Milian Wolff mail at milianw.de
Tue Jul 16 10:26:30 UTC 2013


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?

> export CC="ccache /usr/bin/clang -Qunused-arguments"
> 
> > export CXX="ccache /usr/bin/clang++ -Qunused-arguments"
> > 
> > Then probably cmake won't even figure out I'm actually using clang, no?
> 
> At least with gcc this is not an issue and I'd expect this to be not an
> issue with clang either since CMake runs the compile with --version or
> something like that to find out what compiler it has. Unless of course you
> use the CMAKE_CXX_COMPILER variable.

Cool, good to know!

Cheers
-- 
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20130716/2277437f/attachment.sig>


More information about the Kde-buildsystem mailing list