|
1 .. index:: |
|
2 module: How to create a ROM Image |
|
3 |
|
4 ################################ |
|
5 Configure Helium for Qt building |
|
6 ################################ |
|
7 |
|
8 .. contents:: |
|
9 |
|
10 This tutorial explains how to update your configuration to enable Qt building. |
|
11 |
|
12 Configuring Qt |
|
13 ============== |
|
14 |
|
15 Helium has a ready to use target which allows you to configure Qt. You just need to make sure the qt.dir |
|
16 property is configured with the correct location of your Qt source. |
|
17 Then you can run the target as follow:: |
|
18 |
|
19 > hlm -Dbuild.drive=Q: -Dbuild.number=1 configure-qt |
|
20 ... |
|
21 |
|
22 This target has now been depreciated in Helium 6.0, please consider building Qt using Symbian toolchain (SBS or SBSv2). |
|
23 |
|
24 Building Qt components |
|
25 ====================== |
|
26 |
|
27 Qt component can be configured using system definition files version 1.5.1, its definition could be |
|
28 found under HELIUM_HOME/tools/common/dtd/sysdef_1_5_1.dtd. You also need to define this schema as the |
|
29 main one for the system definition file merging operations, this can be done by adding the following |
|
30 line to your build configuration:: |
|
31 |
|
32 <property name="compile.sysdef.dtd.stub" location="${helium.dir}/tools/common/dtd/sysdef_dtd_1_5_1.xml" /> |
|
33 |
|
34 |
|
35 Then qmake building needs to be activated by defining the ``qmake.enabled`` property. |
|
36 |
|
37 Then you can configure your Qt components by using the proFile attribute under the system definition files. |
|
38 The proFile attribute defines the name of the pro file relatively to the path defined by the bldFile attribute. |
|
39 Default qMake command line parameters can be overridden by using the optional qmakeArgs attribute. |
|
40 Example:: |
|
41 |
|
42 <?xml version="1.0"?> |
|
43 <!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" []> |
|
44 <SystemDefinition name="organizer" schema="1.5.1"> |
|
45 <systemModel> |
|
46 <layer name="app_layer"> |
|
47 <module name="module"> |
|
48 <unit unitID="my.component" name="my.component" bldFile="my/component/location/group" proFile="component.pro" mrp=""/> |
|
49 <unit unitID="my.component2" name="my.component2" bldFile="my/component/location/group" proFile="component.pro" qmakeArgs="-r" mrp=""/> |
|
50 </module> |
|
51 </layer> |
|
52 </systemModel> |
|
53 </SystemDefinition> |
|
54 |
|
55 |
|
56 The system definition files can now be merged and filtered(similarly to Raptor). Helium will use the filtered information |
|
57 during the build to run qMake and generate the bld.inf required to make Symbian builds. |
|
58 This will follow this algorithm:: |
|
59 |
|
60 foreach unit from the filtered system definition file: |
|
61 cd <bldFile> |
|
62 qmake <proFile> |
|
63 |
|
64 The file qmake.generated.txt is created with the list of files generated. |