[Qt-interest] unbale to build Qt4.5.0 out of source

Mathieu MARACHE mathieu.marache at gmail.com
Thu Mar 5 12:15:49 CET 2009


Hi guys

2009/3/5 R. Reucher <rene.reucher at batcom-it.net>:
> On Thu March 5 2009 11:42:09 Andreas Pakulat wrote:
>> AFAIK thats simply not supported. The Qt buildsystem only allows for real
>> "out of source" builds, not having the builddir inside the source tree.
> That's also my understanding... what I could imagine though would be using
> lndir on a separate directory and to build in that... but why bother anyway?

Well Qt is one of my external dependencies and thus is stored in a
intern vcs repository. It is then used by a continuous integration
build system that updates and build the code. This CI cannot write
outside of the checked out code directory and it is (much) faster to
remove one directory to clean a build than to delete everything and
recheckout the code.

a first step was to change one condition in bin/syncqt

--- a/bin/syncqt
+++ b/bin/syncqt
@@ -333,7 +333,7 @@ sub syncHeader {
 ######################################################################
 sub fixPaths {
     my ($file, $dir) = @_;
-    $dir =~ s=^$basedir/=$out_basedir/= if(!($basedir eq $out_basedir));
+    $dir =~ s=^$basedir/=$out_basedir/= if(!( index($out_basedir,
$basedir) eq 0));
     $file =~ s=\\=/=g;
     $file =~ s/\+/\\+/g;
     $dir =~ s=\\=/=g;

but now, qmake seems to have the same problem, it does'nt include the
correct path for the moc'ed objects :

-I/home/marache/Projects/qt4/src/corelib/.moc/release-shared
instead of
-I/home/marache/Projects/qt4/build/src/corelib/.moc/release-shared

Maybe I'm hitting a bigger wall than I first thought :-)

--
Mathieu
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org



More information about the Qt-interest-old mailing list