buildframework/helium/doc/src/tutorials/qt_build.rst
changeset 1 be27ed110b50
child 179 d8ac696cc51f
equal deleted inserted replaced
0:044383f39525 1:be27ed110b50
       
     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.