[Kde-bindings] Port of qtguess.pl to CMake

Richard Dale rdale at foton.es
Thu Mar 26 10:31:13 UTC 2009


On Wednesday 25 March 2009 23:51:33 Pau Garcia i Quiles wrote:
> 2009/3/25 David Palacio <dpalacio at uninorte.edu.co>:
> > On Miércoles 25 Marzo 2009 11:14:13 David Palacio wrote:
> >> Some Smoke generation scripts are incompatible with Windows and MSVC,
> >> especially qtguess.pl. I attached what could be a CMake cross-platform
> >> replacement for it.
> >>
> >> Untar on smoke/qt.
> >
> > Oops, messed up at the last moment.
>
> There are a few more issues. This is what I ran into when I tried to
> build SMOKE and QtRuby with VC++2008 a couple of months ago (I'm
> cutting and pasting from an e-mail I sent to Richard and to the guy
> who "ported" an old version of QtRuby to Windows) :
>
> ==========
>
> - The Perl scripts don't work with ActivePerl (I've so far fixed this)
> [ I fixed this by replacing GNU coreutils with Perl code; I guess you
> have replaced Perl with CMake scripting, which is much better ]
>
> - GNU coreutils is expected to be available, which is not the case on
> a pure-Win32 environment (I've also fixed this)
>
> - Smoke: pid's are not using the PROCESS_INFORMATION structure (I have
> discussed with Richard a fix for this but I have not tested it yet),
> one __declexport/__declimport failure (fixed).
>
> - QtDBUS is always processed by Kalyptus, even when it does not exist,
> which is the case when using the official MSVC Qt on Windows
>
> - Some issues with the DOM header files, which I have not fixed yet
> but are the least of my worries now
>
> ==========
>
> The Q_PID being a pointer PROCESS_INFORMATION on Win32 (instead of a
> 'long') was the only important one. It should be possible to fix the
> issue by special-casing Q_PID: instead of using the 'long' in the
> Smoke structure, on Win32 we'd use the void* an cast to
> PROCESS_INFORMATION.
>
> Unfortunately I was very busy when I hit the Q_PID problem (I was only
> able to work on the port for a couple of hours) and did not finish it.
> I expected to devote some time to the VC++ port in May, but maybe
> you'll have completed it by then :-?
OK, I can special case Q_PID in the qtruby marshaller with #ifdefs so it does 
the right thing on Windows, and also WId needs special casing too.

I looked at David's cmake qtguess replacement and we can commit that if it 
works on both Windows and Linux - I'm not enough of a cmake expert to tell if 
it is good cmake stuff of not - it certainly looks fine to me. Also it would be 
nice to get the Qyoto C# bindings building on Windows 'out of the box'.

-- Richard



More information about the Kde-bindings mailing list