Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#7576 closed Feature Requests (fixed)

bjam/qt4: Allow extra flags for rcc

Reported by: frank.richter@… Owned by: Jürgen Hunold
Milestone: Boost 1.53.0 Component: build
Version: Boost 1.52.0 Severity: Optimization
Keywords: Cc:

Description

The Qt4 rcc utility supports some useful command line options (e.g. compression) that unfortunately cannot be set when bjam's .qrc support is used.

The attached patch adds a feature “<rccflags>” that allows custom command line options to be passed to the Qt4 rcc utility.

Attachments (1)

qt4-jam-rccflags.diff (654 bytes ) - added by frank.richter@… 10 years ago.
<rccflags> feature to pass command line options to Qt4's rcc

Download all attachments as: .zip

Change History (7)

by frank.richter@…, 10 years ago

Attachment: qt4-jam-rccflags.diff added

<rccflags> feature to pass command line options to Qt4's rcc

comment:1 by Jürgen Hunold, 10 years ago

I would like to add this to qt4.jam, but I'm missing:

  • some documentation
  • a short example
  • a test in v2/test/qt4 if possible.

If I get documentation and example I can derive a test myself, but that would take longer.

comment:2 by frank.richter@…, 10 years ago

Example, easy:

project my-qt-project :
                requirements
                <rccflags>"-compress 9 -threshold 10"
            ;

...enables more aggressive resource compression.

Documentation: what about:

--- qt4.jam.org	2012-10-26 10:43:46.602132564 +0200
+++ qt4.jam	2012-11-21 11:43:14.794037086 +0100
@@ -35,6 +35,21 @@
 #
 # This is consistent with Qt guidelines:
 # http://doc.trolltech.com/4.0/moc.html
+#
+# The .qrc processing utility supports various command line option (see
+# http://qt-project.org/doc/qt-4.8/rcc.html for a complete list). The
+# module provides default arguments for the "output file" and
+# "initialization function name" options. Other options can be set through
+# the <rccflags> build property. E.g. if you wish the compression settings
+# to be more aggressive than the defaults, you can apply them too all .qrc
+# files like this:
+#
+#   project my-qt-project :
+#               requirements
+#               <rccflags>"-compress 9 -threshold 10"
+#           ;
+#
+# Of course, this property can also be specified on individual targets.
 
 import modules ;
 import feature ;

Tests: can do (probably) — just didn't really write any test at all for bjam yet.

Looking back at the change, it might be better to put $(OPTIONS) _after_ -name $(>:B), as that would allow the user to override the default initialization function name – useful in case multiple .qrc files with the same name occur in a project. Or perhaps only if tastes differ. (Note the documentation snippet above is does not consider this alteration.)

comment:3 by Jürgen Hunold, 10 years ago

Owner: changed from Vladimir Prus to Jürgen Hunold
Status: newassigned

comment:4 by Jürgen Hunold, 10 years ago

Milestone: To Be DeterminedBoost 1.53.0
Version: Boost 1.51.0Boost 1.52.0

comment:5 by Jürgen Hunold, 10 years ago

Resolution: fixed
Status: assignedclosed

(In [81689]) Add <rccflags> to qt4.jam. Fixes #7576

Thanks to Frank Richter for the initial patch and documentation.

comment:6 by Jürgen Hunold, 10 years ago

(In [81702]) Merge 81687,81688,81689 from /trunk

------------------------------------------------------------------------ r81687 | jhunold | 2012-12-03 09:27:30 +0100 (Mo, 03 Dez 2012) | 1 line

Disambiguate rcc calls in preparation for qt5 toolset ------------------------------------------------------------------------ r81688 | jhunold | 2012-12-03 09:27:44 +0100 (Mo, 03 Dez 2012) | 1 line

Adjust external link to qt-project.org ------------------------------------------------------------------------ r81689 | jhunold | 2012-12-03 09:28:09 +0100 (Mo, 03 Dez 2012) | 3 lines

Add <rccflags> to qt4.jam. Fixes #7576

Thanks to Frank Richter for the initial patch and documentation. ------------------------------------------------------------------------

Note: See TracTickets for help on using tickets.