[Kde-bindings] port kdebindings to cmake

Richard Dale rdale at foton.es
Thu Nov 23 10:31:56 UTC 2006


On Wednesday 22 November 2006 17:03, Arno Rehn wrote:
> Am Mittwoch, 22. November 2006 08:50 schrieb Laurent Montel:
> > On Wednesday 22 November 2006 08:36, Laurent Montel wrote:
> > > I will do it (test it today)
> >
> > When I try to compile it directly with 'make'
> > I have this error
> > make
> > mcs -unsafe -debug -o doit.exe doit.cs qyoto/QFont.cs SmokeInvocation.cs
> > warning CS8029: Compatibility: Use -out:FILE instead of --output FILE or
> > -o FILE
> > doit.cs(1,7): error CS0246: The type or namespace name `Qt' could not be
> > found. Are you missing a using directive or an assembly reference?
> > doit.cs(1,1): error CS0246: The type or namespace name `Qt' could not be
> > found. Are you missing a using directive or an assembly reference?
> > qyoto/QFont.cs(8,3): error CS0246: The type or namespace name
> > `SmokeClass' could not be found. Are you missing a using directive or an
> > assembly reference?
> > qyoto/QFont.cs(132,28): error CS0246: The type or namespace name
> > `IQPaintDevice' could not be found. Are you missing a using directive or
> > an assembly reference?
> > qyoto/QFont.cs(137,37): error CS0246: The type or namespace name
> > `IQPaintDevice' could not be found. Are you missing a using directive or
> > an assembly reference?
> > SmokeInvocation.cs(333,53): error CS0118: `Qyoto' is a `namespace' but a
> > `type' was expected
> > SmokeInvocation.cs(334,55): error CS0246: The type or namespace name
> > `QObject' could not be found. Are you missing a using directive or an
> > assembly reference?
> >
> >
> > Do you have info about it ?
> > (for the moment I don't know C#)
>
> The makefile is outdated. You have to edit it by hand, otherwise it won't
> work. Then you'll have to type "make qyoto.dll && make libqyoto.so" to
> build the necessary files.
> But I see another problem: I have already looked at cmake and at the moment
> it only supports C and C++. So for C# we need an external build tool like
> NAnt.
Another thing is that on Windows qyoto.dll and libqyoto.so will have the same 
name, so I think it would be a good idea to rename qyoto.dll as 
csharp-qt.dll. That was the naming convention that seemed to be used for 
bindings projects - the gtk# C# class libs dll is called csharp-gtk.dll.

To build libqyoto.so, the makefile has this rule (after I've hand edited my 
version):

libqyoto.so:	qyoto.cpp handlers.cpp
	gcc -shared -o libqyoto.so \
	-I/home/rdale/src/kde/trunk/KDE/kdebindings/smoke \
	-I/opt/kde4/include -I/opt/kde4/include/QtCore \
	-I/opt/kde4/include/QtGui \
        -L/opt/kde4/lib \
	-lQtCore -lQtGui -lsmokeqt qyoto.cpp handlers.cpp

I think this at least should be easy to do with cmake.

The Smoke library has a lot of configuration tests written in perl, and I 
don't know how easy they are to translate into cmake. Thomas Moenicke was 
looking at that, and I don't know how far he's got.

-- Richard



More information about the Kde-bindings mailing list