Boost logo

Boost-Build :

From: Juergen Hunold (hunold_at_[hidden])
Date: 2006-01-23 15:49:06


Hi !

The attached file contains a patch for improved Qt4 support.
Features (maybe commit message )

1. Better qmake compatibility by adding the necessary defines for each
Qt library. E.g. qmake defines QT_CORE_LIB when generating makefiles
for a project using QtCore, QT_GUI_LIB for QtGui and so on.
2. Added support for QtTestLib, the Qt Test Framework ( Qt 4.1)
3. Added support for QtAssistantClient, Qt Integrated Help System
4. Better readability by adding explicit comments (# usage-requirements)
and having one line per setting).
5. Add support for "moc-and-include header" by
5a. duplication of the "moccable-cpp" hack for headers.
5b. copy&change of "moc-h-generator" to "moc-inc-generator"
5c. renaming of the "moc.cpp" action to "moc.inc" and rearringing
documentation.

Remarks:
1. This might be needed on NT for dllexport/dllimport statements. Qt
defines QT_BUILD_CORE_LIB when building QtCore and QT_CORE_LIB when
using it, so this asymmetrie might be relevant. I can't spent any time
on NT right now, sorry.

2. QtTest has some cool features for testing Qt itself. And can be used
with Boost.Build V2 test runner ;-)

3. Was simply missing. I'm working on QtDesigner but need some time for
getting it right.

4. For me, lines like "alias a : : : : <define>a ;" are extremely hard
to read. I just get confused by the lots of colons, must always count
them and remember where i am. This smells of write-only code ;-)
alias a
   : #sources
   : #requirements
   : #default-build
   : #usage-requierements
     <define>a
   ;

is much more readable.
Btw. Why can I write

project
  : usage-requirements
        <define>a
  ;
and get an error when trying something like

alias a
  : usage-requirements
        <define>a
  ;

as a more verbose alternative.

5. Needed to compile Qt4 itself.
Drop me a note for a tarball and qt4.jam patch to compile Qt-4.1.0 and
4.1.1-snapshots with V2 on Linux. Work in (slow) progress.
These hacks using "cast" are ugly, but I don't have the time to work on
a more qmake like approach.

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold  ! Ingenieurgesellschaft für 
* voice: ++49 511 262926 57  ! Verkehrs- und Eisenbahnwesen mbH  
* fax  : ++49 511 262926 99  ! Lister Straße 15
* hunold_at_[hidden]          ! www.ive-mbh.de



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk