cmake issue: includes

Adriaan de Groot groot at kde.org
Thu Mar 30 14:21:05 BST 2006


On Friday 24 March 2006 14:02, William A. Hoffman wrote:
> At 06:05 AM 3/24/2006, Adriaan de Groot wrote:
> >Building kdebase against yesterday's kdelibs:
> >
> >adridg at kde$ gmake
> >Building CXX object libkonq/CMakeFiles/konq.dir/konq_operations.o
> >/mnt/src/kde/kde-4.0/kdebase/libkonq/konq_operations.cc:65:18: X11/Xlib.h:
> > No such file or directory
>
> include_directories(${X11_INCLUDE_DIR})

It remains clear as mud to me *how* the include paths are calculated and where 
they are set -- and why they are in the order they are. I would largely 
expect compiles to have the includes in the following order:

KDE includes
Qt includes
Extra includes (is there even an --with-extra-includes functionality?)
X11 includes

Now, if I look at the compilation of DCOP, I see in DCOP's CMakefile

include_directories( ${QT_INCLUDES} )

which adds the Qt includes *at the end of the list to look in*. Why is that 
even necessary? Why isn't QTDIR/include (or its subdirs) added automatically? 
Why *is* X11_INCLUDES added in the generic includes for everyone?

Anyway, the reason this is a problem for me is that I have Qt3 installed on my 
system. This is widely regarded as a bad thing. In particular, Qt3 installs 
includes in /usr/X11R6/include -- this is standard on FreeBSD systems. So now 
my KDE4 DCOP compiles, which get includes in the order KDE - X11 - Qt pull in 
Qt3 headers instead of Qt4. The attached patch shuffles things around a 
little bit: it puts the X11 headers at the end. Is that sensible?

-- 
Adriaan de Groot
  KDE Quality Team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cmake.diff
Type: text/x-diff
Size: 1571 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20060330/389730ba/attachment.diff>


More information about the kde-core-devel mailing list