[CMake] Cross-compiling with FindQt4.cmake

Hendrik Sattler post at hendrik-sattler.de
Sat Jun 20 06:00:16 EDT 2009


Am Freitag 19 Juni 2009 21:13:14 schrieb Clinton Stimpson:
> To cross-compile Qt apps, you still need to be able to run at least uic,
> moc, and maybe other tools.
>
> I've done it before (way back when cross-compiling support was first
> added to cmake).
> What I did was compile Qt for the target platform, and again for the
> native platform using the same install prefix for both.  I installed the
> target platform Qt, then copied qmake/uic/moc/etc... from the native one
> into the first installation.
>
> Is there an official way to cross-compile Qt that is different than what
> I did?
> With that, could you use qmake generated makefiles (which assumes you
> can run qmake natively)?

I cross-compile from Debian to Windows. QT 4.5 is isntalled for the Debian 
system and I use the precompiled Qt-4.0.1 from the Qt website. I could use he 
newer uic and moc (both not absolutely needed) but qmake will not give the 
right output.
Because it asks qmake for library and include dirs, even when I compile the 
same version for the host, those answers will be wrong as they do not target 
the target root dir.
Also, the module is so damn sure about qmake output that it sets 
NO_DEFAULT_PATH when trying to find stuff. This is even more wrong in this 
situation.

It seems that FindQt4.cmake wasn't ever updated with cross-compiling as focus.

HS



More information about the CMake mailing list