[Kde-bindings] building smoke and korundum separately

Stefano Crocco stefano.crocco at alice.it
Mon Mar 23 10:47:39 UTC 2009


Alle Sunday 22 March 2009, Arno Rehn ha scritto:
> On Sunday 22 March 2009 11:06:41 Stefano Crocco wrote:
> > I was trying to build smoke and korundum separately. The reason to do
> > this is that I wanted to create kdebindings packages for my distribution
> > (gentoo) which, at the moment, doesn't have any. Since gentoo puts each
> > kde application/library into an individual package, I wanted to do the
> > same with kdebindings. So my idea was: a package for smoke, a package for
> > korundum, a package for qyoto, and so on.
> >
> > I proceeded the following way:
> > - built smoke (installed in /usr/kde/svn/libs)
> > - created another build directory, run cmake from it then run ccmake to
> > only select qtruby and korundum (disabling smoke)
> > - run make
> >
> > As soon as make attempted to link libqtruby.so (or something similar, I
> > don't remember exactly), I got a smoke-related linking error. So I tried
> > looking in the makefiles produced by cmake and found out that the smoke
> > libraries weren't among the ones included in the linking process (I
> > assume because I explicitly told cmake not to build it). I then started
> > looking through the options listed by ccmake, including the advanced
> > ones, and found a CMAKE_MODULE_LINKER_FLAGS and a
> > CMAKE_SHARED_LINKER_FLAGS entries. Setting both of them to -L
> > /usr/kde/svn/lib (the directory were smoke is installed) I was able to
> > compile correctly korundum.
>
> When it's just a matter of adding -L /usr/kde/svn/lib, then the correct way
> to proceed is adding a link_directories( /usr/kde/svn/lib/ ) command to
> CMakeLists.txt.
> Ideally one should write FindSmokeQt.cmake, FindSmokeKDE.cmake,
> FindSmokeQtWebKit.cmake etc. and install them together with the smoke libs.
> You could then simply find_package (SmokeQt REQUIRED) and everything should
> be set up correctly. Without that, a hardcoded link_directories command as
> explained above should be sufficient.

Thanks for your answer. However, given how Gentoo works, what you're 
suggesting would require to create a patch for the CMakeLists.txt file, while 
my solution would simply mean passing a flag to the call to cmake, which would 
be quite easier (and, in my opinion, cleaner). Is there any drawback to this 
approach?

Stefano





More information about the Kde-bindings mailing list