Thursday, September 14, 2006

KDE/Ruby CMake magic?

I have commited my what's this about?? keyword cloud thingy to SVN into trunk/playground/utils/whatsthisabout. today. I am trying to use CMake as a build tool, but ran into a number of problems, one being the lack of a good example. After asking around on #kde-ruby it turned out that there is no known example.

OK, no problem. I'm a hacker, right? Jerome Pansanel pointed me to the KDE cmake modules. FindRUBY.cmake was there, so that's one step. Something that was missing was a module to detect the Korundum KDE/Ruby bindings, so I added FindKorundum.cmake. Since I am not a CMake experienced hacker, things might be off; comments most welcome!

However, when I add a find_package(KDE3), I get the error:
CMake Error: KDE3_DIR is not set.  It must be set to the directory containing KDE3Config.cmake in order to use KDE3.
And I have no idea on how to address that.

Additionally, I have struggle with the FindRUBY.cmake. I would expect ${RUBY_LIBRARY} to point to the directory where Ruby libraries are installed. But it points to /usr/lib, which is returned by puts Config::CONFIG["libdir"]. Tips most welcome here too.

3 comments:

Egon Willighagen said...

Alexander Neundorf pointed out that I really have to install cmake 2.4.3. How could I have been so stupid to think that that would make that big a difference :(

Anyway, I backported the cmake 2.4.3 from the Ubuntu archives to Dapper. It can be downloaded here.

Anonymous said...

Ok, here are some examples:
http://www.kdedevelopers.org/node/1743
http://www.kdedevelopers.org/node/1668
http://www.cmake.org/Wiki/CMake#Tutorials
and for KDE 3 here:
http://websvn.kde.org/trunk/KDE/kdesdk/cmake/samples/

The ruby lib dir should be ok, please test and let me know it it really doesn't work for you.

Bye
Alex

Anonymous said...

Oh man... just have a similar problem.

qt4-qtruby cant find my Ruby.

But I am using ruby here happily, even compiling c extensions with it without a problem

Something in the cmake world definitely is not right .... :(