Re: kdelibs-trunk, cmake, and QtDBus

"Benjamin Reed" <[email protected]> Wed, 5 Jul 2006 13:39:11 -0400
Newsgroups gmane.comp.kde.darwin
Message-ID <[email protected]>
On 7/5/06, Michael Larsen <[email protected]> wrote:

> I've been trying to build kdelibs-trunk against the Qt/Mac 4.2 preview
> (damn you, qt-copy). Although things are working fine, I've had to
> hack things to get cmake to do everything properly.

Well first, AFAIK, 4.2 preview is *already* out of date (QtDbus isn't
up-to-date enough for it to find it), you'll need to grab the latest
4.2 snapshot from ftp://ftp.trolltech.com/qt/snapshots/

> Firstly, cmake doesn't detect Q_WS_MAC, so I've had to enable that
> manually

This usually means you don't have the proper qmake in your path.
That's how Qt gets found.  If you do, it should be able to find the
framework, and thus the headers it needs.

> Secondly, cmake *never* adds '-framework QtDBus' to the linker flags.
> I've tried setting CMAKE_EXE_LINKER_FLAGS, CMAKE_MODULE_LINKER_FLAGS,
> CMAKE_SHARED_LINKER_FLAGS, and CMAKE_LINKER_FLAGS(does cmake actually
> look for this one? I didn't see it in the docs, but it seemed
> logical). Has anybody else managed to figure this one out? I'm
> starting to get tired of editing the build.make files to have it link
> against QtDBus all the time (maybe I'm missing something?).

as I said, the QtDBus stuff is not new enough in the tp1 release.

Also, make sure PKG_CONIG_PATH is pointing to your dbus location
before compiling qt.

In addition, "make install" doesn't install the .la files nor .pc
files for kde to find QtDBus properly, so you need to hand-install
them if you're not pointing at your qt build dir when compiling kde.

I'm going to be updating my installer packages on kde.opendarwin.org
shortly, so this will hopefully be a moot point in the next day or so.
 However, right now is about the worst time to be trying to hack on
kde anyways, unless you happen to be in tyrsil, a bunch of the core
folks have gotten together for a hackathon and things are breaking
left-and-right.