Changeset 846 for trunk/doc/src/development/qmake-manual.qdoc
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/doc/src/development/qmake-manual.qdoc
r769 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 7 7 ** This file is part of the documentation of the Qt Toolkit. 8 8 ** 9 ** $QT_BEGIN_LICENSE: LGPL$9 ** $QT_BEGIN_LICENSE:FDL$ 10 10 ** Commercial Usage 11 11 ** Licensees holding valid Qt Commercial licenses may use this file in 12 12 ** accordance with the Qt Commercial License Agreement provided with the 13 ** Software or, alternatively, in accordance with the terms contained in 14 ** awritten agreement between you and Nokia.13 ** Software or, alternatively, in accordance with the terms contained in a 14 ** written agreement between you and Nokia. 15 15 ** 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. 35 21 ** 36 22 ** If you have questions regarding the use of this file, please contact … … 348 334 an application. 349 335 \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. 350 337 \endtable 351 338 … … 873 860 Developers using Visual Studio to write Qt applications can use the 874 861 Visual Studio integration facilities provided with the 875 \l{Qt Commercial Edition s} and do not need to worry about how862 \l{Qt Commercial Edition} and do not need to worry about how 876 863 project dependencies are managed. 877 864 … … 953 940 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130 954 941 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. 956 945 957 946 \section2 Compiler specific options … … 972 961 Here is how to define them in a project file: 973 962 974 There are four types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They963 There are four available types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They 975 964 are specified like this: 976 965 977 966 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 132 978 967 979 If \c UID2is 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. 980 969 If \c UID3 is not specified, qmake will automatically generate a \c UID3 981 970 suitable for development and debugging. This value should be manually 982 971 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 988 984 \section2 Capabilities 989 985 990 Capabilities define extra privile dges for the application, such as the986 Capabilities define extra privileges for the application, such as the 991 987 ability to list all files on the file system. Capabilities are defined 992 988 in the project file like this: … … 1093 1089 \target BLD_INF_RULES 1094 1090 \section1 BLD_INF_RULES 1095 1091 1096 1092 \e {This is only used on the Symbian platform.} 1097 1093 1098 1094 Generic \c bld.inf file content can be specified with \c BLD_INF_RULES variables. 1099 1095 The section of \c bld.inf file where each rule goes is appended to 1100 1096 \c BLD_INF_RULES with a dot. 1101 1097 1102 1098 For example: 1103 1104 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 1 461105 1099 1100 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 152 1101 1106 1102 This will add the specified statements to the \c prj_exports section of the 1107 1103 generated \c bld.inf file. 1108 1104 1109 1105 It is also possible to add multiple rows in a single block. Each double 1110 1106 quoted string will be placed on a new row in the generated \c bld.inf file. 1111 1107 1112 1108 For example: 1113 1109 1114 1110 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 143 1115 1111 1116 1112 Any rules you define will be added after automatically generated 1117 1113 rules in each section. … … 1288 1284 1289 1285 These options only have an effect on the Symbian platform: 1290 1286 1291 1287 \table 95% 1292 1288 \header \o Option \o Description … … 1299 1295 Note that this only affects automatically generated bld.inf content; 1300 1296 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. 1301 1305 \endtable 1302 1306 1303 1307 These options have an effect on Linux/Unix platforms: 1304 1308 … … 1330 1334 \section1 DEF_FILE 1331 1335 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. 1335 1343 1336 1344 \target DEPENDPATH … … 1363 1371 \c{%CSIDL_PROGRAM_FILES%\target}, which usually gets expanded to 1364 1372 \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. 1366 1374 1367 1375 It is also possible to specify multiple \c sources to be deployed on … … 1376 1384 specified by \c{myFiles.path}. On Symbian platform all libraries and executables 1377 1385 will always be deployed to the \\sys\\bin of the installation drive. 1378 1386 1379 1387 Since the Symbian platform build system automatically moves binaries to certain 1380 1388 directories under the epoc32 directory, custom plugins, executables or … … 1395 1403 variable. You can use either \c pkg_prerules or \c pkg_postrules to 1396 1404 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. 1400 1412 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: 1403 1415 1404 1416 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 140 … … 1407 1419 pkg file. If no pkg_prerules is defined, qmake makes sure that PKG file 1408 1420 syntax is correct and it contains all mandatory statements such as: 1409 1421 1410 1422 \list 1411 1423 \o languages, for example \BR … … 1416 1428 %{"Vendor-EN", ..., "Vendor-FR"} 1417 1429 :"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 1421 1433 attention that also other statements stay valid. For example if you 1422 1434 override languages statement, you must override also package-header 1423 1435 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 1424 1451 1425 1452 On the Symbian platform, the \c default_deployment item specifies … … 1429 1456 more languages need to be supported by the package file. The supported 1430 1457 \c default_deployment rules that can be disabled are: 1431 1458 1432 1459 \list 1433 1460 \o pkg_depends_qt … … 1437 1464 1438 1465 For example: 1439 1466 1440 1467 \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 1442 1509 On the Symbian platform, you can use \c{DEPLOYMENT.installer_header} 1443 1510 variable to generate smart installer wrapper for your application. … … 1464 1531 If the application depends on plugins, these plugins have to be specified 1465 1532 manually. 1466 1533 1467 1534 \note On the Symbian platform, all plugins supported by this variable 1468 will be deployed by default with Qt libraries, so generally using this1469 variable is not needed.1535 will be deployed by default with Qt libraries, so generally using this 1536 variable is not needed. 1470 1537 1471 1538 For example: … … 1571 1638 1572 1639 See also \l{#SOURCES}{SOURCES}. 1573 1640 1574 1641 \target ICON 1575 1642 \section1 ICON 1576 1643 1577 1644 This variable is used only in MAC and the Symbian platform to set the application icon. 1578 1645 Please see \l{Setting the Application Icon}{the application icon documentation} 1579 1646 for more information. 1580 1647 1581 1648 \target INCLUDEPATH 1582 1649 \section1 INCLUDEPATH … … 1611 1678 1612 1679 \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. 1613 1683 1614 1684 \target LEXIMPLS … … 1667 1737 1668 1738 \bold{Note:} On the Symbian platform, the build system makes a 1669 distinction between shared and1739 distinction between shared and 1670 1740 static libraries. In most cases, qmake will figure out which library you 1671 1741 are refering to, but in some cases you may have to specify it explicitly to … … 1703 1773 handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. 1704 1774 1775 \bold{Note:} On the Symbian platform, this variable is ignored. 1776 1705 1777 \target MAKEFILE_GENERATOR 1706 1778 \section1 MAKEFILE_GENERATOR … … 1712 1784 \target MMP_RULES 1713 1785 \section1 MMP_RULES 1714 1786 1715 1787 \e {This is only used on the Symbian platform.} 1716 1788 1717 1789 Generic MMP file content can be specified with this variable. 1718 1790 1719 1791 For example: 1720 1792 1721 1793 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 137 1722 1794 1723 1795 This will add the specified statement to the end of the generated MMP file. 1724 1796 1725 1797 It is also possible to add multiple rows in a single block. Each double 1726 1798 quoted string will be placed on a new row in the generated MMP file. 1727 1799 1728 1800 For example: 1729 1801 1730 1802 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 138 1731 1803 1732 1804 If you need to include a hash (\c{#}) character inside the 1733 1805 \c MMP_RULES statement, it can be done with the variable 1734 1806 \c LITERAL_HASH as follows: 1735 1807 1736 1808 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 139 1737 1809 … … 2005 2077 2006 2078 This variable is not empty if the warn_off 2007 \l{# TEMPLATE}{TEMPLATE} option is specified. The value of this2079 \l{#CONFIG}{CONFIG} option is specified. The value of this 2008 2080 variable is typically handled by \c qmake or \l{#QMAKESPEC}{qmake.conf} 2009 2081 and rarely needs to be modified. … … 2013 2085 2014 2086 This variable is not empty if the warn_on 2015 \l{# TEMPLATE}{TEMPLATE} option is specified.2087 \l{#CONFIG}{CONFIG} option is specified. 2016 2088 The value of this variable is typically handled by 2017 2089 \c qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs … … 2041 2113 2042 2114 \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: 2045 2117 2046 2118 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 131 … … 2280 2352 then QMAKE_INCDIR_EGL may also need to be set. 2281 2353 2282 \section1 QMAKE_INCDIR_OPENGL_ES1, QMAKE_INCDIR_OPENGL_ES 1CL, QMAKE_INCDIR_OPENGL_ES22354 \section1 QMAKE_INCDIR_OPENGL_ES1, QMAKE_INCDIR_OPENGL_ES2 2283 2355 2284 2356 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 Common2286 Liteor OpenGL ES 2 support respectively.2357 to INCLUDEPATH when building an application with OpenGL ES 1 2358 or OpenGL ES 2 support respectively. 2287 2359 2288 2360 The value of this variable is typically handled by \c qmake or … … 2384 2456 2385 2457 \e {This is used on Unix platforms only.} 2386 2458 2387 2459 Library paths in this definition are added to the executable at link 2388 2460 time so that the added paths will be preferentially searched at runtime. 2389 2461 2390 2462 \section1 QMAKE_LFLAGS_QT_DLL 2391 2463 … … 2538 2610 \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. 2539 2611 2540 \section1 QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES 1CL, QMAKE_LIBS_OPENGL_ES22541 2542 These variables contain all the OpenGL libraries for OpenGL ES 1 ,2543 OpenGL ES 1 Common Lite profileand 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. 2544 2616 2545 2617 The value of these variables is typically handled by \c qmake or … … 2610 2682 \section1 QMAKE_LIBS_THREAD 2611 2683 2612 \e {This is used on Unix platforms only.}2684 \e {This is used on Unix and Symbian platforms only.} 2613 2685 2614 2686 This variable contains all libraries that need to be linked against … … 2726 2798 2727 2799 \section1 QMAKE_RPATH 2728 2800 2729 2801 \e {This is used on Unix platforms only.} 2730 2802 … … 2880 2952 The value of this variable is typically handled by \c qmake or 2881 2953 \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. 2882 2954 2883 2955 \target RSS_RULES 2884 2956 \section1 RSS_RULES 2885 2957 2886 2958 \e {This is only used on the Symbian platform.} 2887 2959 2888 2960 Generic RSS file content can be specified with this variable. The syntax is 2889 2961 similar to \c MMP_RULES and \c BLD_INF_RULES. 2890 2962 2891 2963 For example: 2892 2964 2893 2965 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 144 2894 2966 2895 2967 This will add the specified statement to the end of the \c APP_REGISTRATION_INFO 2896 2968 resource struct in the generated registration resource file. 2897 2969 As an impact of this statement, the application will not be visible in application shell. 2898 2970 2899 2971 It is also possible to add multiple rows in a single block. Each double 2900 2972 quoted string will be placed on a new row in the registration resource file. 2901 2973 2902 2974 For example: 2903 2975 2904 2976 \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 145 2905 2977 2906 2978 This example will install the application to MyFolder in the Symbian 2907 2979 platform application shell. In addition it will make the application to … … 2943 3015 2944 3016 \e {This is only used on the Symbian platform.} 2945 3017 2946 3018 Contains the version number of the underlying S60 SDK; e.g. "5.0". 2947 3019 … … 2979 3051 2980 3052 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. 2983 3056 2984 3057 For example: … … 3024 3097 3025 3098 \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". 3026 3106 3027 3107 \target TARGET
Note:
See TracChangeset
for help on using the changeset viewer.