common/templates/run-qmake.ant.xml.ftl
author Simon Howkins <simonh@symbian.org>
Tue, 10 Aug 2010 18:11:17 +0100
changeset 1186 4518bca1baf0
parent 1182 8e3d3bbaed03
child 1224 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:
969
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     1
<?xml version="1.0"?>
1123
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">
969
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     3
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
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
1103
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  -->
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
     8
    <target name="sf-build-qmake">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
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: 1174
diff changeset
    10
            <then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    11
                <sequential>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    12
  <#list data["//unit[@bldFile = '/sf/mw/qt/src/s60installs/deviceconfiguration']"] as unit>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    13
                    <echo>INFO: Building and configuring qmake for ${unit.@bldFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    14
                    <if>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    15
                        <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    16
                        <then>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    17
                            <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    18
                                <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
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: 1174
diff changeset
    20
                            </exec>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    21
                        </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    22
                        <else>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    23
                           <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
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: 1174
diff changeset
    25
                        </else>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    26
                    </if>          
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    27
  </#list>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    28
                </sequential>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    29
            </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    30
        </if>
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
    31
    </target>
1025
a370015021c1 Add explicit qtextensions configuration step
Shabe Razvi <shaber@symbian.org>
parents: 1024
diff changeset
    32
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
    33
    <target name="sf-build-qtextension-tools">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    34
        <sequential>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    35
  <#list data["//unit[@bldFile = '/sf/mw/qtextensions/group']"] as unit>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    36
            <echo>INFO: Configuring qtextensions for ${unit.@bldFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    37
            <if>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    38
                <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    39
                <then>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    40
                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    41
                        <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
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: 1174
diff changeset
    43
                    </exec>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    44
                </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    45
                <else>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    46
                    <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    47
                </else>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    48
            </if>          
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    49
  </#list>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    50
        </sequential>
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
    51
    </target>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    52
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
    53
    <target name="sf-configure-orbit">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    54
        <sequential>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    55
  <#list data["//unit[@proFile = 'hb.pro']"] as unit>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    56
            <echo>Running configure.py for ${unit.@bldFile}/${unit.@proFile}</echo>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    57
            <if>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    58
                <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    59
                <then>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
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">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    61
                        <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    62
                        <arg value="python"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
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: 1174
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
                        
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
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: 1174
diff changeset
    67
                    <echo>INFO: Running Orbit theme installer, make install step</echo>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
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">
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    69
                        <arg value="/C"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    70
                        <arg value="make install"/>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    71
                    </exec>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    72
                </then>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    73
                <else>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    74
                    <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    75
                </else>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    76
            </if>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    77
  </#list>
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
    78
        </sequential>
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
    79
    </target>
993
6c90564578a6 Update qmake template to run Orbit's configure.py tool
Shabe Razvi <shaber@symbian.org>
parents: 969
diff changeset
    80
1182
8e3d3bbaed03 Sorted steps into targets, so it's easier to interpret the console output.
Simon Howkins <simonh@symbian.org>
parents: 1181
diff changeset
    81
    <target name="sd-qmake-all-profiles">
969
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}">
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    83
  <#list data["//unit[@proFile != 'hb.pro']"] as unit>
969
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>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    87
                    <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
969
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    88
                    <then>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
    89
                        <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
969
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"/ -->
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
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: 1180
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: 1180
diff changeset
    95
      </#escape>
969
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>
1181
7ff3bbb2e9d9 Made better use of fmpp constructs when filtering units and specfifying default options.
Simon Howkins <simonh@symbian.org>
parents: 1180
diff changeset
   100
                       <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
969
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   101
                    </else>
1015
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: 1013
diff changeset
   102
                </if>          
969
35d8126bcf87 Use qt.qmake.ant.template property for custom qmake template
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   103
            </sequential>
1180
17aa569095fc Regularised whitespace.
Simon Howkins <simonh@symbian.org>
parents: 1174
diff changeset
   104
  </#list>
969
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>