Created: kdepimlibs_include_dirs

Alexander Neundorf neundorf at kde.org
Mon Feb 23 19:55:48 CET 2009


On Monday 23 February 2009, Christophe Giboudeaux wrote:
> Hello,
>
> Yesterday we created the KDEPIMLIBS_INCLUDE_DIRS definition in kdepimlibs.
>
> This one resolves compilation errors if:
> - CamelCase headers are used and
> - the kdepimlibs installation prefix is not the same as the kdelibs one.

That's this patch, right ?
http://websvn.kde.org/trunk/KDE/kdepimlibs/KdepimLibsConfig.cmake.in?r1=930029&r2=930092

Can you please explain why this fixes the build if kdelibs and kdepimlibs are 
installed to different locations ?
I'm testign always with different locations, and I didn't notice the problem 
(but haven't updated for some time now).
If you are using kdepimlibs, you should do

include_directories(${KDEPIMLIBS_INCLUDE_DIR})
and since you are developing a KDE applciation, you already should have a 
include_directories(${KDE4_INCLUDES}) 
somewhere.
Where is the problem with the different install locations ?


I didn't check the CamelCase headers yet. Where are they installed ?
E.g. if I install kdepimlibs to /opt/kdepimlibs, they will be installed 
to /opt/kdepimlibs/include/KDE ?
Why not installing them e.g. to /opt/kdepimlibs/include/KdepimLibs ?


> That also means that both KDEPIMLIBS_INCLUDE_DIR and
> KDEPIMLIBS_INCLUDE_DIRS actually exist.
>
> While I'd like to remove KDEPIMLIBS_INCLUDE_DIR, this would cause headaches
> when something has to be backported and would require some extra fixing

It can not be removed, since it has been released with KDE 4.2 and so it must 
exist for all of KDE 4.x, removing it would be a source incompatible change.

> when it's not correctly used, eg:
> include_directories(${KDEPIMLIBS_INCLUDE_DIR}/foo)
>
> What's the best solution ? Removing KDEPIMLIBS_INCLUDE_DIR and replace it
> everywhere 

As said above, this is not possible, you cannot replace it everywhere, there 
may be 3rd party apps which are not KDE svn or which are already released, 
etc. (you cannot change the past, except if "Who controls the past, controls 
the future: who controls the present controls the past" ) ;-)

Alex


More information about the Kde-buildsystem mailing list