Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/doc/src/development/qmake-manual.qdoc

    r769 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    77** This file is part of the documentation of the Qt Toolkit.
    88**
    9 ** $QT_BEGIN_LICENSE:LGPL$
     9** $QT_BEGIN_LICENSE:FDL$
    1010** Commercial Usage
    1111** Licensees holding valid Qt Commercial licenses may use this file in
    1212** accordance with the Qt Commercial License Agreement provided with the
    13 ** Software or, alternatively, in accordance with the terms contained in
    14 ** a written agreement between you and Nokia.
     13** Software or, alternatively, in accordance with the terms contained in a
     14** written agreement between you and Nokia.
    1515**
    16 ** GNU Lesser General Public License Usage
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
    18 ** General Public License version 2.1 as published by the Free Software
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
    20 ** packaging of this file.  Please review the following information to
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    23 **
    24 ** In addition, as a special exception, Nokia gives you certain additional
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    27 **
    28 ** GNU General Public License Usage
    29 ** Alternatively, this file may be used under the terms of the GNU
    30 ** General Public License version 3.0 as published by the Free Software
    31 ** Foundation and appearing in the file LICENSE.GPL included in the
    32 ** packaging of this file.  Please review the following information to
    33 ** ensure the GNU General Public License version 3.0 requirements will be
    34 ** met: http://www.gnu.org/copyleft/gpl.html.
     16** GNU Free Documentation License
     17** Alternatively, this file may be used under the terms of the GNU Free
     18** Documentation License version 1.3 as published by the Free Software
     19** Foundation and appearing in the file included in the packaging of this
     20** file.
    3521**
    3622** If you have questions regarding the use of this file, please contact
     
    348334                             an application.
    349335    \row    \o vclib         \o Creates a Visual Studio Project file to build a library.
     336    \row    \o vcsubdirs     \o Creates a Visual Studio Solution file to build projects in sub-directories.
    350337    \endtable
    351338
     
    873860    Developers using Visual Studio to write Qt applications can use the
    874861    Visual Studio integration facilities provided with the
    875     \l{Qt Commercial Editions} and do not need to worry about how
     862    \l{Qt Commercial Edition} and do not need to worry about how
    876863    project dependencies are managed.
    877864
     
    953940    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130
    954941
    955     The default values depend on the version of the Symbian SDK you're using.
     942    The default values depend on the version of the Symbian SDK you're using,
     943        however, the Qt toolchain sets this to the maximum possible value and this
     944        should not be changed.
    956945
    957946    \section2 Compiler specific options
     
    972961    Here is how to define them in a project file:
    973962
    974     There are four types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
     963    There are four available types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
    975964    are specified like this:
    976965
    977966    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 132
    978967
    979     If \c UID2 is not specified, it defaults to the same value as \c UID3.
     968    If \c SID is not specified, it defaults to the same value as \c UID3.
    980969    If \c UID3 is not specified, qmake will automatically generate a \c UID3
    981970    suitable for development and debugging. This value should be manually
    982971    specified for applications that are to be released. In order to obtain
    983     an official UID, please contact Nokia. Both \c SID and \c VID default to empty values.
    984 
    985     For more information about unique identifiers and their meaning for
    986     Symbian applications, please refer to the Symbian SDK documentation.
    987 
     972    an official UID, please contact \l{Symbian}{http:\\www.symbiansigned.com}.
     973        Both \c SID and \c VID default to empty values.
     974
     975    There exists one UID1 too, but this should not be touched by any application.
     976       
     977        The UID2 has a specific value for different types of files - e.g. apps/exes
     978        are always 0x100039CE. The toolchain will set this for value for the most common file types like,
     979        EXE/APP and shared library DLL.
     980       
     981        For more information about unique identifiers and their meaning for Symbian applications,
     982        please refer to the \l{Symbian SDK documentation}{http://developer.symbian.org/main/documentation/reference/s3/pdk/GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.html}
     983       
    988984    \section2 Capabilities
    989985
    990     Capabilities define extra priviledges for the application, such as the
     986    Capabilities define extra privileges for the application, such as the
    991987    ability to list all files on the file system. Capabilities are defined
    992988    in the project file like this:
     
    10931089    \target BLD_INF_RULES
    10941090    \section1 BLD_INF_RULES
    1095    
     1091
    10961092    \e {This is only used on the Symbian platform.}
    1097    
     1093
    10981094    Generic \c bld.inf file content can be specified with \c BLD_INF_RULES variables.
    10991095    The section of \c bld.inf file where each rule goes is appended to
    11001096    \c BLD_INF_RULES with a dot.
    1101    
     1097
    11021098    For example:
    1103    
    1104     \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 146
    1105    
     1099
     1100    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 152
     1101
    11061102    This will add the specified statements to the \c prj_exports section of the
    11071103    generated \c bld.inf file.
    1108    
     1104
    11091105    It is also possible to add multiple rows in a single block. Each double
    11101106    quoted string will be placed on a new row in the generated \c bld.inf file.
    1111    
     1107
    11121108    For example:
    1113    
     1109
    11141110    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 143
    1115        
     1111
    11161112    Any rules you define will be added after automatically generated
    11171113    rules in each section.
     
    12881284
    12891285    These options only have an effect on the Symbian platform:
    1290    
     1286
    12911287    \table 95%
    12921288    \header \o Option \o Description
     
    12991295         Note that this only affects automatically generated bld.inf content;
    13001296         the content added via \c BLD_INF_RULES variable is not affected.
     1297    \row \o localize_deployment \o Makes \c lupdate tool add fields for
     1298         application captions and package file names into generated \c{.ts}
     1299         files. Qmake generates properly localized \c{.loc} and \c{.pkg} files
     1300         based on available translations. Translation file name bodies must
     1301         end with underscore and the language code for deployment localization
     1302         to work. E.g. \c{myapp_en.ts}.
     1303         \bold{Note:} All languages supported by Qt are not supported by Symbian,
     1304         so some \c{.ts} files may be ignored by qmake.
    13011305    \endtable
    1302    
     1306
    13031307    These options have an effect on Linux/Unix platforms:
    13041308
     
    13301334    \section1 DEF_FILE
    13311335
    1332     \e {This is only used on Windows when using the \c app template}.
    1333 
    1334     Specifies a \c .def file to be included in the project.
     1336    \e {This is only used on Windows when using the \c app template,
     1337    and on Symbian when building a shared DLL}.
     1338
     1339    Specifies a \c .def file to be included in the project. On Symbian
     1340    a directory may be specified instead, in which case the real files
     1341    will be located under the standard Symbian directories \c bwins and
     1342    \c eabi.
    13351343
    13361344    \target DEPENDPATH
     
    13631371    \c{%CSIDL_PROGRAM_FILES%\target}, which usually gets expanded to
    13641372    \c{\Program Files\target}. For the Symbian platform, the default target
    1365 is the application private directory on the drive it is installed to.
     1373    is the application private directory on the drive it is installed to.
    13661374
    13671375    It is also possible to specify multiple \c sources to be deployed on
     
    13761384    specified by \c{myFiles.path}. On Symbian platform all libraries and executables
    13771385    will always be deployed to the \\sys\\bin of the installation drive.
    1378    
     1386
    13791387    Since the Symbian platform build system automatically moves binaries to certain
    13801388    directories under the epoc32 directory, custom plugins, executables or
     
    13951403    variable. You can use either \c pkg_prerules or \c pkg_postrules to
    13961404    pass raw data to PKG file. The strings in \c pkg_prerules are added before
    1397     package-body and \c pkg_postrules after. The strings defined in
    1398     \c pkg_postrules or \c pkg_prerules are not parsed by qmake, so they
    1399     should be in a format understood by Symbian package generation tools.
     1405    package-body and \c pkg_postrules after. \c pkg_prerules is used for
     1406    defining vendor information, dependencies, custom package headers, and the
     1407    like, while \c pkg_postrules is used for custom file deployment and
     1408    embedded sis directives.
     1409    The strings defined in \c pkg_postrules or \c pkg_prerules are not parsed
     1410    by qmake, so they should be in a format understood by Symbian package
     1411    generation tools.
    14001412    Please consult the Symbian platform documentation for correct syntax.
    1401    
    1402     For example, to deploy DLL and add a new dependency: 
     1413
     1414    For example, to deploy DLL and add a new dependency:
    14031415
    14041416    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 140
     
    14071419    pkg file. If no pkg_prerules is defined, qmake makes sure that PKG file
    14081420    syntax is correct and it contains all mandatory statements such as:
    1409    
     1421
    14101422    \list
    14111423    \o languages, for example \BR
     
    14161428        %{"Vendor-EN", ..., "Vendor-FR"}
    14171429        :"Unique vendor name"
    1418     \endlist   
    1419    
    1420     If you decide to override any of these statements, you need to pay 
     1430    \endlist
     1431
     1432    If you decide to override any of these statements, you need to pay
    14211433    attention that also other statements stay valid. For example if you
    14221434    override languages statement, you must override also package-header
    14231435    statement and all other statements which are language specific.
     1436
     1437    On the Symbian platform, three separate PKG files are generated:
     1438
     1439    \list
     1440    \o <app>_template.pkg - For application SIS file. Rules suffix: \c{.main}
     1441    \o <app>_installer.pkg - For smart installer SIS file. Rules suffix: \c{.installer}
     1442    \o <app>_stub.pkg - For ROM stubs. Rules suffix: \c{.stub}
     1443    \endlist
     1444
     1445    \c pkg_prerules and \c pkg_postrules given without rules suffix will
     1446    intelligently apply to each of these files, but rules can also be
     1447    targeted to only one of above files by appending listed rules suffix
     1448    to the variable name:
     1449
     1450    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 153
    14241451
    14251452    On the Symbian platform, the \c default_deployment item specifies
     
    14291456    more languages need to be supported by the package file. The supported
    14301457    \c default_deployment rules that can be disabled are:
    1431    
     1458
    14321459    \list
    14331460    \o pkg_depends_qt
     
    14371464
    14381465    For example:
    1439    
     1466
    14401467    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 141
    1441    
     1468
     1469    On the Symbian platform, a default deployment is generated for all
     1470    application projects. You can modify the autogenerated default
     1471    deployment via following \c DEPLOYMENT variable values:
     1472
     1473    \list
     1474    \o default_bin_deployment - Application executable
     1475    \o default_resource_deployment - Application resources, including icon
     1476    \o default_reg_deployment - Application registration file
     1477    \endlist
     1478
     1479    For example:
     1480
     1481    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 154
     1482
     1483    This will entirely remove the default application deployment.
     1484
     1485    On the Symbian platform, you can specify file specific install options
     1486    with \c{.flags} modifier. Please consult the Symbian platform documentation
     1487    for supported options.
     1488
     1489    For example:
     1490
     1491    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 155
     1492
     1493    This will show a message box that gives user an option to cancel the
     1494    installation and then automatically runs the application after
     1495    installation is complete.
     1496
     1497    \note Automatically running the applications after install may require signing
     1498    the package with better than self-signed certificate, depending on the phone model.
     1499    Additionally, some tools such as Runonphone may not work properly with sis
     1500    packages that automatically run the application upon install.
     1501
     1502    On the Symbian platform, the default package name and the default name that
     1503    appears in application menu is derived from the \c TARGET variable.
     1504    Often the default is not optimal for displaying to end user. To set a better
     1505    display name for these purposes, use \c{DEPLOYMENT.display_name} variable:
     1506
     1507    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 156
     1508
    14421509    On the Symbian platform, you can use \c{DEPLOYMENT.installer_header}
    14431510    variable to generate smart installer wrapper for your application.
     
    14641531    If the application depends on plugins, these plugins have to be specified
    14651532    manually.
    1466    
     1533
    14671534    \note On the Symbian platform, all plugins supported by this variable
    1468 will be deployed by default with Qt libraries, so generally using this
    1469 variable is not needed.
     1535    will be deployed by default with Qt libraries, so generally using this
     1536    variable is not needed.
    14701537
    14711538    For example:
     
    15711638
    15721639    See also \l{#SOURCES}{SOURCES}.
    1573    
     1640
    15741641    \target ICON
    15751642    \section1 ICON
    1576    
     1643
    15771644    This variable is used only in MAC and the Symbian platform to set the application icon.
    15781645    Please see \l{Setting the Application Icon}{the application icon documentation}
    15791646    for more information.
    1580    
     1647
    15811648    \target INCLUDEPATH
    15821649    \section1 INCLUDEPATH
     
    16111678
    16121679    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 36
     1680
     1681    Note that \c qmake will skip files that are executable. If you need to install
     1682    executable files, you can unset the files' executable flags.
    16131683
    16141684    \target LEXIMPLS
     
    16671737
    16681738    \bold{Note:} On the Symbian platform, the build system makes a
    1669 distinction between shared and
     1739    distinction between shared and
    16701740    static libraries. In most cases, qmake will figure out which library you
    16711741    are refering to, but in some cases you may have to specify it explicitly to
     
    17031773    handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
    17041774
     1775    \bold{Note:} On the Symbian platform, this variable is ignored.
     1776
    17051777    \target MAKEFILE_GENERATOR
    17061778    \section1 MAKEFILE_GENERATOR
     
    17121784    \target MMP_RULES
    17131785    \section1 MMP_RULES
    1714    
     1786
    17151787    \e {This is only used on the Symbian platform.}
    1716    
     1788
    17171789    Generic MMP file content can be specified with this variable.
    1718    
     1790
    17191791    For example:
    1720    
     1792
    17211793    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 137
    1722    
     1794
    17231795    This will add the specified statement to the end of the generated MMP file.
    1724    
     1796
    17251797    It is also possible to add multiple rows in a single block. Each double
    17261798    quoted string will be placed on a new row in the generated MMP file.
    1727    
     1799
    17281800    For example:
    1729    
     1801
    17301802    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 138
    1731        
     1803
    17321804    If you need to include a hash (\c{#}) character inside the
    17331805    \c MMP_RULES statement, it can be done with the variable
    17341806    \c LITERAL_HASH as follows:
    1735    
     1807
    17361808    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 139
    17371809
     
    20052077
    20062078    This variable is not empty if the warn_off
    2007     \l{#TEMPLATE}{TEMPLATE} option is specified.  The value of this
     2079    \l{#CONFIG}{CONFIG} option is specified.  The value of this
    20082080    variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf}
    20092081    and rarely needs to be modified.
     
    20132085
    20142086    This variable is not empty if the warn_on
    2015     \l{#TEMPLATE}{TEMPLATE} option is specified.
     2087    \l{#CONFIG}{CONFIG} option is specified.
    20162088    The value of this variable is typically handled by
    20172089    \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs
     
    20412113
    20422114    \bold{Note:} On the Symbian platform, this variable can be used to pass
    2043 architecture specific options to each compiler in the Symbian build system.
    2044 For example:
     2115    architecture specific options to each compiler in the Symbian build system.
     2116    For example:
    20452117
    20462118    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 131
     
    22802352    then QMAKE_INCDIR_EGL may also need to be set.
    22812353
    2282     \section1 QMAKE_INCDIR_OPENGL_ES1, QMAKE_INCDIR_OPENGL_ES1CL, QMAKE_INCDIR_OPENGL_ES2
     2354    \section1 QMAKE_INCDIR_OPENGL_ES1, QMAKE_INCDIR_OPENGL_ES2
    22832355
    22842356    These variables contain the location of OpenGL headers files to be added
    2285     to INCLUDEPATH when building an application with OpenGL ES 1, OpenGL ES 1 Common
    2286     Lite or OpenGL ES 2 support respectively.
     2357    to INCLUDEPATH when building an application with OpenGL ES 1
     2358    or OpenGL ES 2 support respectively.
    22872359
    22882360    The value of this variable is typically handled by \c qmake or
     
    23842456
    23852457    \e {This is used on Unix platforms only.}
    2386    
     2458
    23872459    Library paths in this definition are added to the executable at link
    23882460    time so that the added paths will be preferentially searched at runtime.
    2389    
     2461
    23902462    \section1 QMAKE_LFLAGS_QT_DLL
    23912463
     
    25382610     \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
    25392611
    2540     \section1 QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL, QMAKE_LIBS_OPENGL_ES2
    2541 
    2542     These variables contain all the OpenGL libraries for OpenGL ES 1,
    2543     OpenGL ES 1 Common Lite profile and OpenGL ES 2.
     2612    \section1 QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES2
     2613
     2614    These variables contain all the OpenGL libraries for OpenGL ES 1
     2615    and OpenGL ES 2.
    25442616
    25452617    The value of these variables is typically handled by \c qmake or
     
    26102682    \section1 QMAKE_LIBS_THREAD
    26112683
    2612     \e {This is used on Unix platforms only.}
     2684    \e {This is used on Unix and Symbian platforms only.}
    26132685
    26142686    This variable contains all libraries that need to be linked against
     
    27262798
    27272799    \section1 QMAKE_RPATH
    2728    
     2800
    27292801    \e {This is used on Unix platforms only.}
    27302802
     
    28802952    The value of this variable is typically handled by \c qmake or
    28812953     \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
    2882      
     2954
    28832955    \target RSS_RULES
    28842956    \section1 RSS_RULES
    2885    
     2957
    28862958    \e {This is only used on the Symbian platform.}   
    2887    
     2959
    28882960    Generic RSS file content can be specified with this variable. The syntax is
    28892961    similar to \c MMP_RULES and \c BLD_INF_RULES.
    2890    
     2962
    28912963    For example:
    2892    
     2964
    28932965    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 144
    2894    
     2966
    28952967    This will add the specified statement to the end of the \c APP_REGISTRATION_INFO
    28962968    resource struct in the generated registration resource file.
    28972969    As an impact of this statement, the application will not be visible in application shell.
    2898    
     2970
    28992971    It is also possible to add multiple rows in a single block. Each double
    29002972    quoted string will be placed on a new row in the registration resource file.
    2901    
     2973
    29022974    For example:
    2903    
     2975
    29042976    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 145
    2905    
     2977
    29062978    This example will install the application to MyFolder in the Symbian
    29072979    platform application shell. In addition it will make the application to
     
    29433015
    29443016    \e {This is only used on the Symbian platform.}
    2945    
     3017
    29463018    Contains the version number of the underlying S60 SDK; e.g. "5.0".
    29473019
     
    29793051
    29803052    This variable, when used with the \l{#TEMPLATE}{\c subdirs template}
    2981     contains the names of all subdirectories that contain parts of the project
    2982     that need be built. Each subdirectory must contain its own project file.
     3053    contains the names of all subdirectories or project files that contain
     3054    parts of the project that need be built. Each subdirectory specified
     3055    using this variable must contain its own project file.
    29833056
    29843057    For example:
     
    30243097
    30253098    \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 150
     3099
     3100    \target SYMBIAN_VERSION
     3101    \section1 SYMBIAN_VERSION
     3102
     3103    \e {This is only used on the Symbian platform.}
     3104
     3105    Contains the version number of the underlying Symbian SDK; e.g. "9.2" or "Symbian3".
    30263106
    30273107    \target TARGET
Note: See TracChangeset for help on using the changeset viewer.