Plasma running on S60 device

Jani.Hautakangas at tieto.com Jani.Hautakangas at tieto.com
Sat Jun 6 16:29:18 CEST 2009


Thank you all for your advice!

No worries guys, I will share the code for sure. I just thought that it would 
be a better idea to ask first before taking any actions since I'm not familiar 
with open source world nor KDE community. I hope that Tieto will find me soon
some time to do this but for now I'm doing this on my spare time which I don't
have too much. So please be patient.

The port I did is based on version 4.2.2 of KDE on Windows.
Qt version that I use is the Garden release of Qt for S60.

I will put the code as it is now to svn as guided and try to write down some kind of instructions 
how to set it up and get it running on device but I must warn you, it's not something pleasant to see.
I will also start a new branch from the current KDE truck as Aaron adviced and take a look at that cmake link.

Meanwhile, here is something to do info for people wanting to help:

CMake

There is a in S60 SDK /epoc32/tools/compilation_config/GCCE.mk file which sets up some
options which are used in <SDK>/epoc32/BUILD/<path to your project>/GCCE/<your project>_xxxx _GGCE.
This could be a place where to start when adding Symbian support for CMake.

QMake

Because CMake is not working yet I used QMake but it has some issues. By default it
does not generate xxxx.moc files, instead it generates moc_xxxx.cpp files. There is
QMAKE_EXT_MOC variable that can be given to qmake but on Qt for S60 Garden release
it seems to have no effect. I also tried QMAKE_EXTRA_COMPILERS but did not succeed with
that eather. I didn't spend too much time on this. Instead I created a script that
renamed all xxxx.moc includes to match moc_xxxx.cpp.

KDE code:

The most of the errors came from the QCursor usage, so they need to be
surrounded with QT_NO_CURSOR ifdefs since it seems to have no serious side effects.

kselectaction.h QToolButton:ToolButtonPopupMode must be surrounded with ifindef QT_NO_MENU since
Qt for S60 Garden defines QT_NO_MENU but I guess that Qt for S60 next release does not
define it anymore. 

grabMouse(QCursor) lines to grabMouse()

Is there some kind of ifdef for QtDBus? At the moment QtDBus must be excluded to get things
compiled.

klockfile_unix.cpp compiles if signal.h and select() are removed but it stalls/crashes 
in ::lock and lstat. It might be OpenC bug but not sure... 

Other things:

In QMake stdbinary config option must be added otherwise QLibrary.resolve won't work.

Br, 
  Jani


More information about the Plasma-devel mailing list