changes how Qt4 is found in trunk/kdelibs/

Tanner Lovelace clubjuggler at gmail.com
Thu Mar 30 23:08:26 CEST 2006


On 3/30/06, Tanner Lovelace <clubjuggler at gmail.com> wrote:
> On 3/30/06, Alexander Neundorf <neundorf at kde.org> wrote:
> > To the OS X developers: could you please have a look at FindQt4.cmake ?
> > Currently the checks for Qt on OS X are all done separatly, but now that
> > cmake has improved support for frameworks, this could probably be done
> > better.
> > Tanner, can you have a look at it ?
>
> FIND_LIBRARY appears to find release frameworks ok, but it sets the variable
> to just the framework directory instead of "-F/path/to/framework
> -framework {frameworkname}".  It doesn't appear to find debug versions
> at all, but this is because in OS X, debug libraries are included within
> the overall library framework and the compiler picks the right one at
> link time so the name passed in for debug frameworks doesn't
> match (i.e. QtCore_debug is passed in to find_library but the framework
> is still only referred to as QtCore).
>
> So, for the moment, I think we're better off leaving the separate library
> checks as is, but that probably ought to be opened as a bug for cmake
> if it hasn't already been.

Actually, looking at the find_library documentation, I found this:

   If the library found is a framework, then VAR will be set to
   the full path to the framework <fullPath>/A.framework.
   When a full path to a framework is used as a library,
   CMake will use a -framework A, and a -F<fullPath> to
   link the framework to the target.

So its possible it may work ok for release libraries.  I'll double check that
later this evening when I can compile kdelibs.

For debug libraries, however, in order to find them within frameworks
we'll need to add what is essentially the non-debug name to the list of
libraries to be searched for.  On non OS X platforms (or OS X where
Qt libraries are used instead of frameworks) this would mean that the
debug library defines could be set to release libraries.  So, we probably
need some sort of differentiation there, but we still should be able to use
find_library (assuming the above behavior works correctly).

Cheers,
Tanner
--
Tanner Lovelace
clubjuggler at gmail dot com
http://wtl.wayfarer.org/
(fieldless) In fess two roundels in pale, a billet fesswise and an
increscent, all sable.


More information about the Kde-buildsystem mailing list