common/templates/run-qmake.ant.xml.ftl
author Simon Howkins <simonh@symbian.org>
Tue, 10 Aug 2010 18:11:17 +0100
changeset 1206 4518bca1baf0
parent 1202 8e3d3bbaed03
child 1256 468b74292f68
permissions -rw-r--r--
Improved diagnostic output: when the build fails because a package cannot be cloned into the build drive, it says which package and the repo source and destination. Improved caching logic, so that it doesn't depend on network availability as much. Improved indentation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     1
<?xml version="1.0"?>
1120
794ddd7e666a Modified run-qmake template to make it work in the context of smoketest exec
brendand@symbian.org
parents: 1052
diff changeset
     2
<project name="run-qmake" default="all">
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     3
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
     4
    <target name="all" depends="sf-build-qmake,sf-build-qtextension-tools,sf-configure-orbit,sd-qmake-all-profiles"/>
1023
ebfa9f019473 Build qmake in .ftl, prior to running on all .pro files
Shabe Razvi <shaber@symbian.org>
parents: 1022
diff changeset
     5
1106
232bce64d370 Build Qmake only if Qt package is being built
Shabe Razvi <shaber@symbian.org>
parents: 1052
diff changeset
     6
    <!-- Qmake needs to have been built in this environment, to generate bld.infs to built Qt itself.  
232bce64d370 Build Qmake only if Qt package is being built
Shabe Razvi <shaber@symbian.org>
parents: 1052
diff changeset
     7
         Qmake.exe only exists in the source tree if its been built  -->
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
     8
    <target name="sf-build-qmake">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
     9
        <if><not><available file="${r'$'}{build.drive}/sf/mw/qt/bin/qmake.exe" type="file"/></not>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    10
            <then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    11
                <sequential>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    12
  <#list data["//unit[@bldFile = '/sf/mw/qt/src/s60installs/deviceconfiguration']"] as unit>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    13
                    <echo>INFO: Building and configuring qmake for ${unit.@bldFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    14
                    <if>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    15
                        <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    16
                        <then>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    17
                            <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    18
                                <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    19
                                <arg line="sbs -c tools2 -j 4 --logfile=${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_qmake.log"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    20
                            </exec>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    21
                        </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    22
                        <else>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    23
                           <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    24
                           <fail message="Unit /sf/mw/qt/src/s60installs/deviceconfiguration is in the model, but not present on disk. Cannot build qmake!"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    25
                        </else>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    26
                    </if>          
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    27
  </#list>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    28
                </sequential>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    29
            </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    30
        </if>
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
    31
    </target>
1025
a370015021c1 Add explicit qtextensions configuration step
Shabe Razvi <shaber@symbian.org>
parents: 1024
diff changeset
    32
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
    33
    <target name="sf-build-qtextension-tools">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    34
        <sequential>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    35
  <#list data["//unit[@bldFile = '/sf/mw/qtextensions/group']"] as unit>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    36
            <echo>INFO: Configuring qtextensions for ${unit.@bldFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    37
            <if>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    38
                <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    39
                <then>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    40
                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    41
                        <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    42
                        <arg line="sbs -c tools2 -j 4 --logfile=${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_qtextensions.log"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    43
                    </exec>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    44
                </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    45
                <else>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    46
                    <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    47
                </else>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    48
            </if>          
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    49
  </#list>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    50
        </sequential>
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
    51
    </target>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    52
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
    53
    <target name="sf-configure-orbit">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    54
        <sequential>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    55
  <#list data["//unit[@proFile = 'hb.pro']"] as unit>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    56
            <echo>Running configure.py for ${unit.@bldFile}/${unit.@proFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    57
            <if>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    58
                <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    59
                <then>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    60
                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false" output="${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_hb_configure.log">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    61
                        <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    62
                        <arg value="python"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    63
                        <arg line ="configure.py --qmake-spec=symbian-sbsv2 --platform=symbian --qmake-options=MMP_RULES+=EXPORTUNFROZEN CONFIG+=sgimagelite_support DEFINES+=HB_EFFECTS_OPENVG DEFINES+=HB_FILTER_EFFECTS"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    64
                    </exec>
1052
401ecaf0a844 Update run-qmake template to add make install step to configure Orbit
Shabe Razvi <shaber@symbian.org>
parents: 1049
diff changeset
    65
                        
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    66
                    <echo>INFO: Exporting Orbit mkspecs to epoc32\tools for ${unit.@bldFile}/${unit.@proFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    67
                    <echo>INFO: Running Orbit theme installer, make install step</echo>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    68
                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false" output="${r'$'}{build.drive}/output/logs/${ant['build.id']}_install_hb_configure.log">
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    69
                        <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    70
                        <arg value="make install"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    71
                    </exec>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    72
                </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    73
                <else>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    74
                    <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    75
                </else>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    76
            </if>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    77
  </#list>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
    78
        </sequential>
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
    79
    </target>
979
6c90564578a6 Update qmake template to run Orbit's configure.py tool
Shabe Razvi <shaber@symbian.org>
parents: 971
diff changeset
    80
1202
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1201
diff changeset
    81
    <target name="sd-qmake-all-profiles">
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    82
        <parallel threadCount="${r'$'}{number.of.threads}">
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    83
  <#list data["//unit[@proFile != 'hb.pro']"] as unit>
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    84
            <sequential>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    85
                <echo>Running qmake for ${unit.@bldFile}/${unit.@proFile}</echo>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    86
                <if>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    87
                    <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    88
                    <then>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    89
                        <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    90
                            <arg value="/C"/>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    91
                            <arg value="qmake"/>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    92
                            <!-- arg value="-listgen"/ -->
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    93
      <#escape x as x?xml>
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    94
                            <arg line="${unit.@qmakeArgs[0]!ant['qt.qmake.default.args']}"/>
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
    95
      </#escape>
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    96
                            <arg value="${unit.@proFile?xml}"/>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    97
                        </exec>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    98
                    </then>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    99
                    <else>
1201
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1200
diff changeset
   100
                       <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   101
                    </else>
1018
334e3f2f79e5 Update run-qmake template to run Orbit configure.py first, followed by mkspec export. This should allow hb SYSTEMINCLUDEs for subsequently processed .pro files.
Shabe Razvi <shaber@symbian.org>
parents: 1016
diff changeset
   102
                </if>          
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   103
            </sequential>
1200
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1186
diff changeset
   104
  </#list>
971
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   105
        </parallel>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   106
    </target>
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   107
    
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   108
</project>