diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-06-13 21:28:27 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-18 11:35:47 +0200 |
commit | 9e925131cd38043aafa38a97c1bfbc44e663809d (patch) | |
tree | 865f92eaf0bb36902fcd45330a6a269ea2e82b32 | |
parent | 18a5e89623815f5355b4173a2e93609eb10289d1 (diff) | |
download | qtdoc-9e925131cd38043aafa38a97c1bfbc44e663809d.tar.gz |
qmake doc moved to qtbase
Change-Id: Ic6a38c9e5acf3d5c35032bf7e6cbc805079e5399
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
36 files changed, 0 insertions, 6198 deletions
diff --git a/doc/config/qmake.qdocconf b/doc/config/qmake.qdocconf deleted file mode 100644 index 68418568..00000000 --- a/doc/config/qmake.qdocconf +++ /dev/null @@ -1,74 +0,0 @@ -include(compat.qdocconf) -include(macros.qdocconf) -include(qt-cpp-ignore.qdocconf) -include(qt-html-templates.qdocconf) -include(qt-defines.qdocconf) - -project = QMake -description = QMake Manual -url = http://qt-project.org/doc/qt-$QT_VER/qtdoc - -indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index - -qhp.projects = qmake - -qhp.qmake.file = qmake.qhp -qhp.qmake.namespace = org.qt-project.qmake.$QT_VERSION_TAG -qhp.qmake.virtualFolder = qmake -qhp.qmake.indexTitle = QMake Manual -qhp.qmake.extraFiles = images/bg_l.png \ - images/bg_l_blank.png \ - images/bg_ll_blank.png \ - images/bg_ul_blank.png \ - images/header_bg.png \ - images/bg_r.png \ - images/box_bg.png \ - images/breadcrumb.png \ - images/bullet_gt.png \ - images/bullet_dn.png \ - images/bullet_sq.png \ - images/bullet_up.png \ - images/arrow_down.png \ - images/feedbackground.png \ - images/horBar.png \ - images/page.png \ - images/page_bg.png \ - images/sprites-combined.png \ - images/spinner.gif \ - images/stylesheet-coffee-plastique.png \ - images/taskmenuextension-example.png \ - images/coloreditorfactoryimage.png \ - images/dynamiclayouts-example.png \ - scripts/functions.js \ - scripts/jquery.js \ - scripts/narrow.js \ - scripts/superfish.js \ - style/narrow.css \ - style/superfish.css \ - style/style_ie6.css \ - style/style_ie7.css \ - style/style_ie8.css \ - style/style.css - -qhp.qmake.filterAttributes = qt $QT_VERSION tools qmake -qhp.qmake.customFilters.qmake.name = qmake Manual -qhp.qmake.customFilters.qmake.filterAttributes = qt tools qmake -qhp.qmake.subprojects = manual -qhp.qmake.subprojects.manual.title = Manual -qhp.qmake.subprojects.manual.indexTitle = qmake Manual -qhp.qmake.subprojects.manual.selectors = fake:page - -language = Cpp - -sources = $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc - -sources.fileextensions = "*.cpp *.qdoc" - -exampledirs = $QT_SOURCE_TREE \ - $QT_SOURCE_TREE/examples \ - $QT_SOURCE_TREE/doc/src - -imagedirs = $QT_SOURCE_TREE/doc/src/images \ - $QT_SOURCE_TREE/doc/src/template/images -outputdir = $QT_BUILD_TREE/doc-build/html-qmake -base = file:$QT_BUILD_TREE/doc-build/html-qmake diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc deleted file mode 100644 index d7483d1d..00000000 --- a/doc/src/development/qmake-manual.qdoc +++ /dev/null @@ -1,4491 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: http://www.gnu.org/copyleft/fdl.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qmake-manual.html - \title qmake Manual - \startpage {index.html}{Qt Reference Documentation} - \nextpage Overview - - \ingroup qttools - \keyword qmake - - The qmake tool helps simplify the build process for development projects - across different platforms. It automates the generation of Makefiles so that - only a few lines of information are needed to create each Makefile. - You can use qmake for any software project, whether it is written with Qt or - not. - - qmake generates a Makefile based on the information in a - project file. Project files are created by the developer, and are usually - simple, but more sophisticated project files can be created for complex - projects. - - qmake contains additional features to support development - with Qt, automatically including build rules for \l{moc.html}{moc} - and \l{uic.html}{uic}. - - qmake can also generate projects for Microsoft Visual studio - without requiring the developer to change the project file. - - \section1 Table of Contents - - \list - \li \l{Overview} - \li \l{Getting Started} - \li \l{Creating Project Files} - \li \l{Building Common Project Types} - \li \l{Running qmake} - \li \l{Platform Notes} - \li \l{qmake Language} - \li \l{Advanced Usage} - \li \l{Using Precompiled Headers} - \li \l{Configuring qmake} - \li \l{Reference} - \list - \li \l{Variables} - \li \l{Replace Functions} - \list - \li \l{Built-in Replace Functions} - \endlist - \li \l{Test Functions} - \list - \li \l{Built-in Test Functions} - \li \l{Test Function Library} - \endlist - \endlist - \endlist -*/ - -/*! - \page qmake-overview.html - \title Overview - \contentspage {qmake Manual}{Contents} - \previouspage qmake Manual - \nextpage Getting Started - - The qmake tool provides you with a project-oriented system for managing the - build process for applications, libraries, and other components. - This approach gives you control over the source files used, and - allows each of the steps in the process to be described concisely, - typically within a single file. qmake expands - the information in each project file to a Makefile that executes the necessary - commands for compiling and linking. - - \section1 Describing a Project - - Projects are described by the contents of project (\c .pro) files. qmake - uses the information within the files to generate Makefiles that contain - all the commands that are needed to build each project. - Project files typically contain a list of source and header files, - general configuration information, and any application-specific details, - such as a list of extra libraries to link against, or a list of extra - include paths to use. - - Project files can contain a number of different elements, including - comments, variable declarations, built-in functions, and some simple - control structures. In most simple projects, it is only necessary - to declare the source and header files that are used to build the - project with some basic configuration options. For more information about - how to create a simple project file, see \l{Getting Started}. - - You can create more sophisticated project files for complex projects. For an - overview of project files, see \l{Creating Project Files}. For detailed - information about the variables and functions that you can use in project - files, see \l{Reference}. - - You can use application or library project templates to specify specialized - configuration options to fine tune the build process. For more information, - see \l{Building Common Project Types}. - - You can use the \l{external: Qt Creator Manual}{Qt Creator} new project - wizard to create the project file. You choose the project template, and Qt - Creator creates a project file with default values that enable you to build - and run the project. You can modify the project file to suit your purposes. - - You can also use qmake to generate project files. For a full description of - qmake command line options, see \l{Running qmake}. - - The basic configuration features of qmake can handle most cross-platform - projects. However, it might be useful, or even necessary, to use some - platform-specific variables. For more information, see \l{Platform Notes}. - - \section1 Building a Project - - For simple projects, you only need to run qmake in the top level directory - of your project to generate a Makefile. You can then run your platform's - \c make tool to build the project according to the Makefile. - - For more information about the environment variables that qmake uses when - configuring the build process, see \l{Configuring qmake}. - - \section1 Using Third Party Libraries - - The guide to \l{Third Party Libraries} shows you how to use simple third - party libraries in your Qt project. - - \section1 Precompiling Headers - - In large projects, it is possible to take advantage of precompiled - header files to speed up the build process. For more information, see - \l{Using Precompiled Headers}. -*/ - -/*! - \page qmake-project-files.html - \title Creating Project Files - \contentspage {qmake Manual}{Contents} - \previouspage Getting Started - \nextpage Building Common Project Types - - Project files contain all the information required by qmake to build your - application, library, or plugin. Generally, you use a series of declarations - to specify the resources in the project, but support for simple programming - constructs enables you to describe different build processes for different - platforms and environments. - - \section1 Project File Elements - - The project file format used by qmake can be - used to support both simple and fairly complex build systems. - Simple project files use a straightforward declarative style, - defining standard variables to indicate the source and header files - that are used in the project. Complex projects may use control flow - structures to fine-tune the build process. - - The following sections describe the different types of elements used - in project files. - - \target ProjectFileElementsVariables - \section2 Variables - - In a project file, variables are used to hold lists of strings. In the - simplest projects, these variables inform qmake - about the configuration options to use, or supply filenames and paths to - use in the build process. - - qmake looks for certain variables in each - project file, and it uses the contents of these to determine what it - should write to a Makefile. For example, the lists of values in the - \l{HEADERS} and \l{SOURCES} variables are used to tell qmake about header - and source files in the same directory as the project file. - - Variables can also be used internally to store temporary lists of values, - and existing lists of values can be overwritten or extended with new - values. - - The following snippet illustrates how lists of values are assigned to - variables: - - \snippet snippets/qmake/variables.pro 0 - - The list of values in a variable is extended in the following way: - - \snippet snippets/qmake/variables.pro 1 - - \note The first assignment only includes values that are specified on - the same line as the \c HEADERS variable. The second assignment splits - the values in the \c SOURCES variable across lines by using a backslash - (\\). - - The \l{CONFIG} variable is another special variable that qmake uses when - generating a Makefile. It is discussed in \l{General Configuration}. - In the snippet above, \c console is added to the list of existing values - contained in \c CONFIG. - - The following table lists some frequently used variables and describes their - contents. For a full list of variables and their descriptions, - see \l{Variables}. - - \table - \header \li Variable \li Contents - \row \li \l{CONFIG} \li General project configuration options. - \row \li \l{DESTDIR} \li The directory in which the executable or binary file will - be placed. - \row \li \l{FORMS} \li A list of UI files to be processed by the - \l{uic}{user interface compiler (uic)}. - \row \li \l{HEADERS} \li A list of filenames of header (.h) files used when - building the project. - \row \li \l{Variables#QT}{QT} \li A list of Qt modules used in the project. - \row \li \l{RESOURCES} \li A list of resource (.qrc) files to be included in the - final project. See the \l{The Qt Resource System} for - more information about these files. - \row \li \l{SOURCES} \li A list of source code files to be used when building - the project. - \row \li \l{TEMPLATE} \li The template to use for the project. This determines - whether the output of the build process will be an - application, a library, or a plugin. - \endtable - - The contents of a variable can be read by prepending the variable name with - \c $$. This can be used to assign the contents of one variable to another: - - \snippet snippets/qmake/dereferencing.pro 0 - - The \c $$ operator is used extensively with built-in functions that operate - on strings and lists of values. For more information, see - \l{qmake Language}. - - \section3 Whitespace - - Usually, whitespace separates values in variable assignments. To specify - values that contain spaces, you must enclose the values in double quotes: - - \snippet snippets/qmake/quoting.pro 0 - - The quoted text is treated as a single item in the list of values held by - the variable. A similar approach is used to deal with paths that contain - spaces, particularly when defining the - \l{INCLUDEPATH} and \l{LIBS} variables for the Windows platform: - - \snippet snippets/qmake/spaces.pro quoting include paths with spaces - - \section2 Comments - - You can add comments to project files. Comments begin with the \c - # character and continue to the end of the same line. For example: - - \snippet snippets/qmake/comments.pro 0 - - To include the \c # character in variable assignments, it is necessary - to use the contents of the built-in \l{LITERAL_HASH} variable. - - \section2 Built-in Functions and Control Flow - - qmake provides a number of built-in functions to enable the contents of - variables to be processed. The most commonly used function in simple - project files is the \l{include(filename)}{include()} function which takes a - filename as an - argument. The contents of the given file are included in the project - file at the place where the \c include function is used. - The \c include function is most commonly used to include other project - files: - - \snippet snippets/qmake/include.pro 0 - - Support for conditional structures is made available via - \l{Scopes}{scopes} that behave like \c if statements in programming languages: - - \snippet snippets/qmake/scopes.pro 0 - - The assignments inside the braces are only made if the condition is - true. In this case, the \c win32 \l{CONFIG} option must be set. This - happens automatically on Windows. The opening brace must stand on the same - line as the condition. - - More complex operations on variables that would usually require loops - are provided by built-in functions such as \l{findfunction}{find()}, - \l{unique}{unique()}, and \l{countfunction}{count()}. These functions, and - many others are provided to manipulate - strings and paths, support user input, and call external tools. For more - information about using the functions, see \l{qmake Language}. For lists - of all functions and their descriptions, see \l{Replace Functions} and - \l{Test Functions}. - - \section1 Project Templates - - The \l{TEMPLATE} variable is used to define the type of project that will - be built. If this is not declared in the project file, - qmake assumes that an application should be - built, and will generate an appropriate Makefile (or equivalent file) - for the purpose. - - The following table summarizes the types of projects available and describes - the files that qmake will generate for each of them: - - \table - \header \li Template \li qmake Output - \row \li app (default) \li Makefile to build an application. - \row \li lib \li Makefile to build a library. - \row \li subdirs \li Makefile containing rules for the - subdirectories specified using the \l{SUBDIRS} - variable. Each subdirectory must contain its own project file. - \row \li vcapp \li Visual Studio Project file to build - an application. - \row \li vclib \li Visual Studio Project file to build a library. - \row \li vcsubdirs \li Visual Studio Solution file to build - projects in sub-directories. - \endtable - - See \l{Building Common Project Types} for advice on writing project files for - projects that use the \c app and \c lib templates. - - When the \c subdirs template is used, qmake - generates a Makefile to examine each specified subdirectory, - process any project file it finds there, and run the platform's - \c make tool on the newly-created Makefile. - The \c SUBDIRS variable is used to - contain a list of all the subdirectories to be processed. - - \target GeneralConfiguration - \section1 General Configuration - - The \l{CONFIG} variable specifies the options and features that the project - should be configured with. - - The project can be built in \e release mode or \e debug mode, or both. - If debug and release are both specified, the last one takes effect. If you - specify the \c debug_and_release option to build both the debug and release - versions of a project, the Makefile that qmake generates includes a rule - that builds both versions. This can be invoked in the following way: - - \snippet snippets/code/doc_src_qmake-manual.pro 0 - - Adding the \c build_all option to the \c CONFIG variable makes this rule - the default when building the project. - - \note Each of the options specified in the \c CONFIG variable can also be - used as a scope condition. - You can test for the presence of certain configuration options by using the - built-in \l{CONFIG(config)}{CONFIG()} function. - For example, the following lines show the function as the condition in a scope - to test whether only the \c opengl option is in use: - - \snippet snippets/qmake/configscopes.pro 4 - \snippet snippets/qmake/configscopes.pro 5 - - This enables different configurations to be defined for \c release and - \c debug builds. For more information, see \l{Scopes}{Using Scopes}. - - The following options define the type of project to be built. - - \note Some of these options only take effect when used on the relevant - platform. - - \table - \header \li Option \li Description - \row \li qt \li The project is a Qt application and should link against the Qt - library. You can use the \c QT variable to control any additional - Qt modules that are required by your application. - This value is added by default, but you can remove it to - use qmake for a non-Qt project. - \row \li x11 \li The project is an X11 application or library. - This value is not needed if the target uses Qt. - \endtable - - The \l{TEMPLATE}{application and library project templates} provide you with - more specialized configuration options to fine tune the build process. The - options are explained in detail in \l{Building Common Project Types}. - - For example, if your application uses the Qt library and you want to - build it in \c debug mode, your project file will contain the following line: - - \snippet snippets/code/doc_src_qmake-manual.pro 1 - - \note You must use "+=", not "=", or qmake - will not be able to use Qt's configuration to determine the settings - needed for your project. - - \section1 Declaring Qt Libraries - - If the \l{CONFIG} variable contains the \c qt value, qmake's support for Qt - applications is enabled. This makes it possible to fine-tune which of the - Qt modules are used by your application. This is achieved with the - \l{Variables#QT}{QT} variable which can be used to declare the required - extension modules. - For example, we can enable the XML and network modules in the following way: - - \snippet snippets/code/doc_src_qmake-manual.pro 2 - - \note \c QT includes the \c core and \c gui modules by default, so the - above declaration \e adds the network and XML modules to this default list. - The following assignment \e omits the default modules, and will lead to - errors when the application's source code is being compiled: - - \snippet snippets/code/doc_src_qmake-manual.pro 3 - - If you want to build a project \e without the \c gui module, you need to - exclude it with the "-=" operator. By default, \c QT contains both - \c core and \c gui, so the following line will result in a minimal - Qt project being built: - - \snippet snippets/code/doc_src_qmake-manual.pro 4 - - For a list of Qt modules that you can add to the \c QT variable, see - \l{Variables#QT}{QT}. - - \section1 Configuration Features - - qmake can be set up with extra configuration - features that are specified in feature (.prf) files. These extra features - often provide support for custom tools that are used during the build - process. To add a feature to the build process, append the feature name - (the stem of the feature filename) to the \c CONFIG variable. - - For example, qmake can configure the build - process to take advantage of external libraries that are supported by - \l{http://www.freedesktop.org/wiki/Software/pkg-config}{pkg-config}, - such as the D-Bus and ogg libraries, with the following lines: - - \snippet snippets/code/doc_src_qmake-manual.pro 5 - - For more information about adding features, see - \l{Adding New Configuration Features}. - - \section1 Declaring Other Libraries - - If you are using other libraries in your project in addition to those - supplied with Qt, you need to specify them in your project file. - - The paths that qmake searches for libraries - and the specific libraries to link against can be added to the list of values in the - \l{LIBS} variable. You can specify the paths to the libraries or use the - Unix-style notation for specifying libraries and paths. - - For example, the following lines show how a library can be specified: - - \snippet snippets/code/doc_src_qmake-manual.pro 6 - - The paths containing header files can also be specified in a similar way - using the \l{INCLUDEPATH} variable. - - For example, to add several paths to be searched for header files: - - \snippet snippets/code/doc_src_qmake-manual.pro 7 -*/ - -/*! - \page qmake-running.html - \title Running qmake - \contentspage {qmake Manual}{Contents} - \previouspage Building Common Project Types - \nextpage Platform Notes - - The behavior of qmake can be customized when it - is run by specifying various options on the command line. These allow the - build process to be fine-tuned, provide useful diagnostic - information, and can be used to specify the target platform for - your project. - - \section1 Command Syntax - - The syntax used to run qmake takes the following simple form: - - \snippet snippets/code/doc_src_qmake-manual.pro 8 - - \section1 Operating Modes - - qmake supports two different modes of operation. In the default mode, qmake - uses the information in a project file to generate a Makefile, but it is also - possible to use qmake to generate project files. - If you want to explicitly set the mode, you must specify it before all - other options. The \c mode can be either of the following two values: - - \list - \li \c -makefile \BR - qmake output will be a Makefile. - \li \c -project \BR - qmake output will be a project file. \BR - \note It is likely that the created file will need to be edited. For example, - adding the \c QT variable to suit what modules are required for the project. - \endlist - - You can use the \c options to specify both general and mode-specific - settings. Options that only apply to the Makefile mode are described in the - \l{#MakefileMode}{Makefile Mode Options} section, whereas options that influence the - creation of project files are described in the - \l{#ProjectMode}{Project Mode Options} section. - - \section1 Files - - The \c files argument represents a list of one or more project files, separated - by spaces. - - \section1 General Options - - A wide range of options can be specified on the command line to - qmake in order to customize the build process, - and to override default settings for your platform. The following basic - options provide help on using qmake, specify where qmake writes the output - file, and control the - level of debugging information that will be written to the console: - - \list - \li \c -help \BR - qmake will go over these features and give some useful help. - \li \c {-o file} \BR - qmake output will be directed to \c file. If - this option is not specified, qmake will try - to use a suitable file name for its output, depending on the mode it is - running in.\BR - If '-' is specified, output is directed to stdout. - \li \c -d \BR - qmake will output debugging information. Adding \c -d more than once - increases verbosity. - \endlist - - The template used for the project is usually specified by the \l{TEMPLATE} - variable in the project file. You can override or modify this by using the - following options: - - \list - \li \c {-t tmpl} \BR - qmake will override any set \c TEMPLATE variables with \c tmpl, but only - \e after the .pro file has been processed. - \li \c {-tp prefix} \BR - qmake will add \c prefix to the \c TEMPLATE variable. - \endlist - - The level of warning information can be fine-tuned to help you find problems in - your project file: - - \list - \li \c -Wall \BR - qmake will report all known warnings. - \li \c -Wnone \BR - No warning information will be generated by qmake. - \li \c -Wparser \BR - qmake will only generate parser warnings. - This will alert you to common pitfalls and potential problems in the - parsing of your project files. - \li \c -Wlogic \BR - qmake will warn of common pitfalls and - potential problems in your project file. For example, - qmake will report multiple occurrences of files in lists and missing - files. - \endlist - - \target MakefileMode - \section1 Makefile Mode Options - - \snippet snippets/code/doc_src_qmake-manual.pro 9 - - In Makefile mode, qmake will generate a Makefile - that is used to build the project. Additionally, the following options may - be used in this mode to influence the way the project file is generated: - - \list - \li \c -after \BR - qmake will process assignments given on the - command line after the specified files. - \li \c -nocache \BR - qmake will ignore the \c{.qmake.cache} file. - \li \c -nodepend \BR - qmake will not generate any dependency - information. - \li \c {-cache file} \BR - qmake will use \c file as the cache file, - ignoring any other .qmake.cache files found. - \li \c {-spec spec} \BR - qmake will use \c spec as a path to platform and compiler information, - and ignore the value of \l{QMAKESPEC}. - \endlist - - You may also pass qmake assignments on the command line. They are processed - before all of the files specified. For example, the following command - generates a Makefile from test.pro: - - \snippet snippets/code/doc_src_qmake-manual.pro 10 - - However, some of the specified options can be omitted as they are default - values: - - \snippet snippets/code/doc_src_qmake-manual.pro 11 - - If you are certain you want your variables processed after the - files specified, then you may pass the \c -after option. When this - is specified, all assignments on the command line after the \c -after - option will be postponed until after the specified files are parsed. - - \target ProjectMode - \section1 Project Mode Options - - \snippet snippets/code/doc_src_qmake-manual.pro 12 - - In project mode, qmake will generate a project - file. Additionally, you may supply the following options in this mode: - - \list - \li \c -r \BR - qmake will look through supplied directories recursively. - \li \c -nopwd \BR - qmake will not look in your current working directory for source code. - It will only use the specified \c files. - \endlist - - In this mode, the \c files argument can be a list of files or directories. - If a directory is specified, it will be included in the \l{DEPENDPATH} - variable, and relevant code from there will be included in the generated - project file. If a file is given, it will be appended to the correct - variable, depending on its extension. For example, UI files are added - to \l{FORMS}, and C++ files are added to \l{SOURCES}. - - You may also pass assignments on the command line in this mode. When doing - so, these assignments will be placed last in the generated project file. -*/ - -/*! - \page qmake-platform-notes.html - \title Platform Notes - \contentspage {qmake Manual}{Contents} - \previouspage Running qmake - \nextpage qmake Language - - Many cross-platform projects can be handled by the basic qmake configuration - features. However, on some platforms, it is sometimes useful, or even - necessary, to take advantage of platform-specific features. - qmake knows about many of these features, which can be accessed via specific - variables that only take effect on the platforms where they are relevant. - - \section1 Mac OS X - - Features specific to this platform include support for creating universal - binaries, frameworks and bundles. - - \section2 Source and Binary Packages - - The version of qmake supplied in source packages - is configured slightly differently to that supplied in binary packages in - that it uses a different feature specification. Where the source package - typically uses the \c macx-g++ specification, the binary package is - typically configured to use the \c macx-xcode specification. - - Users of each package can override this configuration by invoking - qmake with the \c -spec option (see \l{Running qmake} for more information). - For example, to use qmake from a binary package to create a Makefile in a - project directory, invoke the following command: - - \snippet snippets/code/doc_src_qmake-manual.pro 13 - - \section2 Using Frameworks - - qmake is able to automatically generate build - rules for linking against frameworks in the standard framework directory on - Mac OS X, located at \c{/Library/Frameworks/}. - - Directories other than the standard framework directory need to be specified - to the build system, and this is achieved by appending linker options to the - \l{QMAKE_LFLAGS} variable, as shown in the following example: - - \snippet snippets/code/doc_src_qmake-manual.pro 14 - - The framework itself is linked in by appending the \c{-framework} options and - the name of the framework to the \l{LIBS} variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 15 - - \section2 Creating Frameworks - - Any given library project can be configured so that the resulting library - file is placed in a - \l{http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html} - {framework}, ready for deployment. To do this, set up the project to use the - \l{TEMPLATE}{\c lib template} and add the \c lib_bundle option to the - \l{CONFIG} variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 16 - - The data associated with the library is specified using the - \l{QMAKE_BUNDLE_DATA} - variable. This holds items that will be installed with a library - bundle, and is often used to specify a collection of header files, - as in the following example: - - \snippet snippets/code/doc_src_qmake-manual.pro 17 - - You use the \c FRAMEWORK_HEADERS variable to specify the headers required by - a particular framework. - Appending it to the \c QMAKE_BUNDLE_DATA variable ensures that - information about these headers is added to the collection of - resources that will be installed with the library bundle. Also, the - framework name and version are specified by the \l {QMAKE_FRAMEWORK_BUNDLE_NAME} - and \l{QMAKE_FRAMEWORK_VERSION} variables. By default, the values used for - these variables are obtained from the \l{TARGET} and \l{VERSION} variables. - - See \l{Deploying an Application on Mac OS X} for more information about - deploying applications and libraries. - - \section2 Creating and Moving Xcode Projects - - Developers on Mac OS X can take advantage of the qmake support for Xcode - project files, as described in - \l{Qt is Mac OS X Native#Development Tools}{Qt is Mac OS X Native}, - by running qmake to generate an Xcode project from an existing qmake project - file. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 19 - - \note If a project is later moved on the disk, qmake must be run again to - process the project file and create a new Xcode project file. - - \section2 Supporting Two Build Targets Simultaneously - - Implementing this is currently not feasible, because the Xcode - concept of Active Build Configurations is conceptually different - from the qmake idea of build targets. - - The Xcode Active Build Configurations settings are for modifying - Xcode configurations, compiler flags and similar build - options. Unlike Visual Studio, Xcode does not allow for the - selection of specific library files based on whether debug or - release build configurations are selected. The qmake debug and - release settings control which library files are linked to the - executable. - - It is currently not possible to set files in Xcode configuration - settings from the qmake generated Xcode project file. The way the - libraries are linked in the \e {Frameworks & Libraries} phase in the - Xcode build system. - - Furthermore, the selected \e {Active Build Configuration} is stored - in a .pbxuser file, which is generated by Xcode on first load, not - created by qmake. - - \section1 Windows - - Features specific to this platform include support for creating Visual - Studio project files and handling manifest files when deploying Qt - applications developed using Visual Studio 2005, or later. - - \section2 Creating Visual Studio Project Files - - Developers using Visual Studio to write Qt applications can use the - Visual Studio integration facilities provided with the - \l{Qt Commercial License} - and do not need to worry about how project dependencies are managed. - - However, some developers may need to import an existing - qmake project into Visual Studio. - qmake is able to take a project file and create - a Visual Studio project that contains all the necessary information - required by the development environment. This is achieved by setting the - qmake \l{TEMPLATE}{project template} to either \c vcapp - (for application projects) or \c vclib (for library projects). - - This can also be set using a command line option, for example: - - \snippet snippets/code/doc_src_qmake-manual.pro 20 - - It is possible to recursively generate \c{.vcproj} files in subdirectories - and a \c{.sln} file in the main directory, by typing: - - \snippet snippets/code/doc_src_qmake-manual.pro 21 - - Each time you update the project file, you need to run - qmake to generate an updated Visual Studio - project. - - \note If you are using the Visual Studio Add-in, select \gui Qt > - \gui{Import from .pro file} to import \c .pro files. - - \section2 Visual Studio Manifest Files - - When deploying Qt applications built using Visual Studio 2005, or later, - make sure that the manifest file that was created when the application - was linked is handled correctly. This is handled automatically for - projects that generate DLLs. - - Removing manifest embedding for application executables can be done with - the following assignment to the \l{CONFIG} variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 22 - - Also, the manifest embedding for DLLs can be removed with the following - assignment to the \c CONFIG variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 23 - - This is discussed in more detail in the - \l{Deploying an Application on Windows#Manifest files} - {deployment guide for Windows}. -*/ - -/*! - \page qmake-reference.html - \title Reference - \contentspage {qmake Manual}{Contents} - \previouspage Configuring qmake - \nextpage Variables - - The reference sections describe in detail the variables and functions that - are available for use in qmake project files. - - \section1 Variable Reference - - \l{Variables} describes the variables that are recognized by qmake when - configuring the build process for projects. - - \section1 Function Reference - - There are two types of qmake functions: replace functions and test - functions. Replace functions return a value list, while test functions - return a boolean result. The functions are implemented in two places: - fundamental functionality is offered as built-in functions. More complex - functions are implemented in a library of feature files (.prf). - - The functions are divided into categories according to their type: - - \list - \li \l{Replace Functions} - \li \l{Test Functions} - \endlist -*/ - -/*! - \page qmake-variable-reference.html - \title Variables - \contentspage {qmake Manual}{Contents} - \previouspage Reference - \nextpage Replace Functions - - The fundamental behavior of qmake is influenced by variable declarations that - define the build process of each project. Some of these declare resources, - such as headers and source files, that are common to each platform. Others - are used to customize the behavior of compilers and linkers on specific - platforms. - - Platform-specific variables follow the naming pattern of the - variables which they extend or modify, but include the name of the relevant - platform in their name. For example, \c QMAKE_LIBS can be used to specify a list - of libraries that a project needs to link against, and \c QMAKE_LIBS_X11 can be - used to extend or override this list. - - \target CONFIG - \section1 CONFIG - - Specifies project configuration and compiler options. The values are - recognized internally by qmake and have special meaning. - - The following \c CONFIG values control compilation flags: - - \table - \header \li Option \li Description - \row \li release \li The project is to be built in release mode. - If \c debug is also specified, the last one takes effect. - \row \li debug \li The project is to be built in debug mode. - \row \li debug_and_release \li The project is prepared to be built in - \e both debug and release modes. - \row \li debug_and_release_target \li This option is set by default. If - \c debug_and_release is also set, the debug and release builds - end up in separate debug and release directories. - \row \li build_all \li If \c debug_and_release is specified, the project is - built in both debug and release modes by default. - \row \li autogen_precompile_source \li Automatically generates a \c .cpp - file that includes the precompiled header file specified in the .pro - file. - \row \li ordered \li When using the \c subdirs template, this option - specifies that the directories listed should be processed in the - order in which they are given. - \row \li precompile_header \li Enables support for the use of - \l{Using Precompiled Headers}{precompiled headers} in projects. - \row \li warn_on \li The compiler should output as many warnings as possible. - If \c warn_off is also specified, the last one takes effect. - \row \li warn_off \li The compiler should output as few warnings as possible. - \row \li exceptions \li Exception support is enabled. Set by default. - \row \li exceptions_off \li Exception support is disabled. - \row \li rtti \li RTTI support is enabled. By default, the compiler - default is used. - \row \li rtti_off \li RTTI support is disabled. By default, the compiler - default is used. - \row \li stl \li STL support is enabled. By default, the compiler - default is used. - \row \li stl_off \li STL support is disabled. By default, the compiler - default is used. - \row \li thread \li Thread support is enabled. This is enabled when CONFIG - includes \c qt, which is the default. - \endtable - - Since the \c debug option overrides the \c release option when both are - defined in the \c CONFIG variable, it is necessary to use the - \c debug_and_release option if you want to allow both debug and release - versions of a project to be built. In such a case, the Makefile that - qmake generates includes a rule that builds both - versions, and this can be invoked in the following way: - - \snippet snippets/code/doc_src_qmake-manual.pro 24 - - When linking a library, qmake relies on the - underlying platform to know what other libraries this library links - against. However, if linking statically, qmake - will not get this information unless we use the following \c CONFIG - options: - - \table - \header \li Option \li Description - \row \li create_prl \li This option enables - qmake to track these dependencies. When this - option is enabled, qmake will create a file - with the extension \c .prl which will save meta-information about the library - (see \l{LibDepend}{Library Dependencies} for more info). - \row \li link_prl \li When this option is enabled, - qmake will process all libraries linked to - by the application and find their meta-information (see - \l{LibDepend}{Library Dependencies} for more info). - \endtable - - \note The \c create_prl option is required when \e {building} a - static library, while \c link_prl is required when \e {using} a - static library. - - On Windows (or if Qt is configured with \c{-debug-and-release}), add the - \c build_all option to the \c CONFIG variable to build all build - configurations by default. - - Additionally, adding \c debug_and_release to the \c CONFIG variable will - cause both \c debug and \c release to be defined in the contents of - \c CONFIG. When the project file is processed, the - \l{Scopes}{scopes} that test for each value will be - processed for \e both debug and release modes. The \c{build_pass} variable - will be set for each of these modes, and you can test for this to perform - build-specific tasks. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 25 - - As a result, it may be useful to define mode-specific variables, such as - \l{#QMAKE_LFLAGS_RELEASE}{QMAKE_LFLAGS_RELEASE}, instead of general - variables, such as \l{#QMAKE_LFLAGS}{QMAKE_LFLAGS}, where possible. - - The following options define the application or library type: - - \table - \header \li Option \li Description - \row \li qt \li The target is a Qt application or library and requires the Qt - library and header files. The proper include and library paths for the - Qt library will automatically be added to the project. This is defined - by default, and can be fine-tuned with the \c{\l{#qt}{QT}} variable. - \row \li thread \li The target is a multi-threaded application or library. The - proper defines and compiler flags will automatically be added to - the project. This value is set by default. - \row \li x11 \li The target is a X11 application or library. The proper - include paths and libraries will automatically be added to the - project. - \row \li testcase \li The target is an automated test. - \l{Building Common Project Types#building-a-testcase}{A check target} will be added - to the generated Makefile to run the test. Only relevant when generating - Makefiles. - \row \li insignificant_test \li The exit code of the automated test will be ignored. - Only relevant if \c testcase is also set. - \row \li windows \li The target is a Win32 window application (app only). The - proper include paths, compiler flags and libraries will - automatically be added to the project. - \row \li console \li The target is a Win32 console application (app only). The - proper include paths, compiler flags and libraries will - automatically be added to the project. - \row \li shared \li{1,2} The target is a shared object/DLL. The proper - include paths, compiler flags and libraries will automatically be - added to the project. Note that \c dll can also be used on all platforms; - a shared library file with the appropriate suffix for the target platform - (.dll or .so) will be created. - \row \li dll - \row \li static \li{1,2} The target is a static library (lib only). The proper - compiler flags will automatically be added to the project. - \row \li staticlib - \row \li plugin \li The target is a plugin (lib only). This enables dll as well. - \row \li designer \li The target is a plugin for \QD. - \row \li no_lflags_merge \li Ensures that the list of libraries stored in the - \c LIBS variable is not reduced to a list of unique values before it is used. - \row \li resources \li Configures qmake to run rcc on the content of \c RESOURCES - if defined. - \endtable - - These options define specific features on Windows only: - - \table - \header \li Option \li Description - \row \li flat \li When using the vcapp template this will put all the source - files into the source group and the header files into the header group - regardless of what directory they reside in. Turning this - option off will group the files within the source/header group depending - on the directory they reside. This is turned on by default. - \row \li embed_manifest_dll \li Embeds a manifest file in the DLL created - as part of a library project. - \row \li embed_manifest_exe \li Embeds a manifest file in the DLL created - as part of an application project. - \row \li incremental \li Used to enable or disable incremental linking in Visual - C++, depending on whether this feature is enabled or disabled by default. - \endtable - - See \l{Platform Notes#Visual Studio Manifest Files}{Platform Notes} - for more information about the options for embedding manifest files. - - The following options take an effect only on Mac OS X: - - \table - \header \li Option \li Description - \row \li ppc \li Builds a PowerPC binary. - \row \li x86 \li Builds an i386 compatible binary. - \row \li app_bundle \li Puts the executable into a bundle (this is the default). - \row \li lib_bundle \li Puts the library into a library bundle. - \endtable - - The build process for bundles is also influenced by - the contents of the \l{#QMAKE_BUNDLE_DATA}{QMAKE_BUNDLE_DATA} variable. - - The following options take an effect only on Linux/Unix platforms: - - \table - \header \li Option \li Description - \row \li largefile \li Includes support for large files. - \row \li separate_debug_info \li Puts debugging information for libraries in - separate files. - \endtable - - The \c CONFIG variable will also be checked when resolving scopes. You may - assign anything to this variable. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 26 - - \target DEFINES - \section1 DEFINES - - qmake adds the values of this variable as - compiler C preprocessor macros (-D option). - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 27 - - \target DEF_FILE - \section1 DEF_FILE - - \note This variable is used only on Windows when using the \c app template. - - Specifies a \c .def file to be included in the project. - - \target DEPENDPATH - \section1 DEPENDPATH - - Specifies a list of all directories to look in to resolve dependencies. This - variable is used when crawling through \c included files. - - \target DEPLOYMENT - \section1 DEPLOYMENT - - \note This variable is used only on the Windows CE platform. - - Specifies which additional files will be deployed. Deployment means the - transfer of files from the development system to the target device or - emulator. - - Files can be deployed by either creating a Visual Studio project or using - the \l {Using Qt Test remotely on Windows CE}{cetest} executable. - - For example, the following definition uploads all PNG images in \c path to - the directory where the build target is deployed: - - \snippet snippets/code/doc_src_qmake-manual.pro 28 - - The default deployment target path for Windows CE is - \c{%CSIDL_PROGRAM_FILES%\target}, which usually gets expanded to - \c{\Program Files\target}. - - It is also possible to specify multiple \c sources to be deployed on - target \c paths. In addition, different variables can be used for - deployment to different directories. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 29 - - \note In Windows CE all linked Qt libraries will be deployed to the path - specified by \c{myFiles.path}. - - \target DEPLOYMENT_PLUGIN - \section1 DEPLOYMENT_PLUGIN - - \note This variable is used only on the Windows CE platform. - - Specifies the Qt plugins that will be deployed. All plugins - available in Qt can be explicitly deployed to the device. See - \l{Static Plugins}{Static Plugins} for a complete list. - - \note No plugins will be deployed automatically to Windows CE devices. - If the application depends on plugins, these plugins have to be specified - manually. - - For example, the following definition uploads the jpeg imageformat plugin to - the plugins directory on the Windows CE device: - - \snippet snippets/code/doc_src_qmake-manual.pro 142 - - \target DESTDIR - \section1 DESTDIR - - Specifies where to put the \l{#TARGET}{target} file. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 30 - - \target DISTFILES - \section1 DISTFILES - - Specifies a list of files to be included in the dist - target. This feature is supported by UnixMake specs only. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 31 - - \target DLLDESTDIR - \section1 DLLDESTDIR - - \note This variable applies only to Windows targets. - - Specifies where to copy the \l{#TARGET}{target} dll. - - \target FORMS - \section1 FORMS - - Specifies the UI files (see \l{Qt Designer Manual}) to be processed by \c uic - before compiling. All dependencies, headers and source files required - to build these UI files will automatically be added to the project. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 32 - - \target GUID - \section1 GUID - - Specifies the GUID that is set inside a \c{.vcproj} file. The GUID is - usually randomly determined. However, should you require a fixed GUID, - it can be set using this variable. - - This variable is specific to \c{.vcproj} files only; it is ignored - otherwise. - - \target HEADERS - \section1 HEADERS - - Defines the header files for the project. - - qmake automatically detects whether \l{moc} is required by the classes in - the headers, and adds the appropriate dependencies and files to the project - for generating and linking the moc files. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 34 - - See also \l{#SOURCES}{SOURCES}. - - \target ICON - \section1 ICON - - This variable is used only on Mac OS to set the application icon. - Please see \l{Setting the Application Icon}{the application icon documentation} - for more information. - - \target INCLUDEPATH - \section1 INCLUDEPATH - - Specifies the #include directories which should be - searched when compiling the project. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 35 - - To specify a path containing spaces, quote the path using the technique - described in \l{Whitespace}. - - \snippet snippets/qmake/spaces.pro quoting include paths with spaces - - \target INSTALLS - \section1 INSTALLS - - Specifies a list of resources that will be installed when - \c{make install} or a similar installation procedure is executed. Each - item in the list is typically defined with attributes that provide - information about where it will be installed. - - For example, the following \c{target.path} definition describes where the - build target will be installed, and the \c INSTALLS assignment adds the - build target to the list of existing resources to be installed: - - \snippet snippets/code/doc_src_qmake-manual.pro 36 - - For more information, see \l{Installing Files}. - - \target LEXIMPLS - \section1 LEXIMPLS - - Specifies a list of Lex implementation files. The value - of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target LEXOBJECTS - \section1 LEXOBJECTS - - Specifies the names of intermediate Lex object - files.The value of this variable is typically handled by - qmake and rarely needs to be modified. - - \target LEXSOURCES - \section1 LEXSOURCES - - Specifies a list of Lex source files. All - dependencies, headers and source files will automatically be added to - the project for building these lex files. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 37 - - \target LIBS - \section1 LIBS - - Specifies a list of libraries to be linked into the project. - If you use the Unix \c -l (library) and -L (library path) flags, qmake - handles the libraries correctly on Windows (that is, passes the full path of - the library to the linker). The library must exist for - qmake to find the directory where a \c -l lib is located. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 38 - - To specify a path containing spaces, quote the path using the technique - described in \l{Whitespace}. - - \snippet snippets/qmake/spaces.pro quoting library paths with spaces - - By default, the list of libraries stored in \c LIBS is reduced to a list of - unique names before it is used. To change this behavior, add the - \c no_lflags_merge option to the \l{CONFIG} variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 39 - - \target LITERAL_HASH - \section1 LITERAL_HASH - - This variable is used whenever a literal hash character (\c{#}) is needed in - a variable declaration, perhaps as part of a file name or in a string passed - to some external application. - - For example: - - \snippet snippets/qmake/comments.pro 1 - - By using \c LITERAL_HASH in this way, the \c # character can be used - to construct a URL for the \c message() function to print to the console. - - \target MAKEFILE - \section1 MAKEFILE - - Specifies the name of the generated Makefile. The value of this variable is - typically handled by qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to - be modified. - - \target MAKEFILE_GENERATOR - \section1 MAKEFILE_GENERATOR - - Specifies the name of the Makefile generator to use - when generating a Makefile. The value of this variable is typically - handled internally by qmake and rarely needs to - be modified. - - \target MOC_DIR - \section1 MOC_DIR - - Specifies the directory where all intermediate moc - files should be placed. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 40 - - \target OBJECTS - \section1 OBJECTS - - This variable is automatically populated from the \l{SOURCES} variable. - The extension of each source file is replaced by .o (Unix) or .obj (Win32). - You can add objects to the list. - - \target OBJECTS_DIR - \section1 OBJECTS_DIR - - Specifies the directory where all intermediate - objects should be placed. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 41 - - \target POST_TARGETDEPS - \section1 POST_TARGETDEPS - - Lists the libraries that the \l{#TARGET}{target} depends on. Some backends, - such as the generators for Visual Studio and Xcode project files, do not - support this variable. Generally, this variable is supported internally by - these build tools, and it is useful for explicitly listing dependent static - libraries. - - This list is placed after all builtin (and \link #PRE_TARGETDEPS - $$PRE_TARGETDEPS \endlink) dependencies. - - \target PRE_TARGETDEPS - \section1 PRE_TARGETDEPS - - Lists libraries that the \l{#TARGET}{target} depends on. Some backends, - such as the generators for Visual Studio and Xcode project files, do not - support this variable. Generally, this variable is supported internally by - these build tools, and it is useful for explicitly listing dependent static - libraries. - - This list is placed before all builtin dependencies. - - \target PRECOMPILED_HEADER - \section1 PRECOMPILED_HEADER - - Indicates the header file for creating a precompiled - header file, to increase the compilation speed of a project. - Precompiled headers are currently only supported on some platforms - (Windows - all MSVC project types, Mac OS X - Xcode, Makefile, - Unix - gcc 3.3 and up). - - \target PWD - \section1 PWD - - Specifies the full path leading to the directory - containing the current file being parsed. This can be useful - to refer to files within the source tree when writing project files to - support shadow builds. - - See also \l{#_PRO_FILE_PWD_}{_PRO_FILE_PWD_}. - - \note Do not attempt to overwrite the value of this variable. - - \target OUT_PWD - \section1 OUT_PWD - - Specifies the full path leading to the directory where qmake places the - generated Makefile. - - \note Do not attempt to overwrite the value of this variable. - - \target QMAKE_systemvariable - \section1 QMAKE - - Specifies the name of the qmake program itself and is placed in generated - Makefiles. The value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKESPEC_systemvariable - \section1 QMAKESPEC - - A system variable that contains the full path of the qmake configuration that is used - when generating Makefiles. The value of this variable is automatically computed. - - \note Do not attempt to overwrite the value of this variable. - - \target QMAKE_AR_CMD - \section1 QMAKE_AR_CMD - - \note This variable is used on Unix platforms only. - - Specifies the command to execute when creating a shared library. The value of this variable - is typically handled by qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_BUNDLE_DATA - \section1 QMAKE_BUNDLE_DATA - - \note This variable is used on Mac OS X only. - - Specifies the data that will be installed with a library - bundle, and is often used to specify a collection of header files. - - For example, the following lines add \c path/to/header_one.h - and \c path/to/header_two.h to a group containing information about the - headers supplied with the framework: - - \snippet snippets/code/doc_src_qmake-manual.pro 43 - - The last line adds the information about the headers to the collection of - resources that will be installed with the library bundle. - - Library bundles are created when the \c lib_bundle option is added to the - \l{#CONFIG}{CONFIG} variable. - - See \l{Platform Notes#Creating Frameworks}{Platform Notes} for - more information about creating library bundles. - - \section1 QMAKE_BUNDLE_EXTENSION - - \note This variable is used on Mac OS X only. - - Specifies the extension to be used for library bundles. - This allows frameworks to be created with custom extensions instead of the - standard \c{.framework} directory name extension. - - For example, the following definition will result in a framework with the - \c{.myframework} extension: - - \snippet snippets/code/doc_src_qmake-manual.pro 44 - - \section1 QMAKE_CC - - Specifies the C compiler that will be used when building - projects containing C source code. Only the file name of the compiler - executable needs to be specified as long as it is on a path contained - in the \c PATH variable when the Makefile is processed. - - \target QMAKE_CFLAGS_DEBUG - \section1 QMAKE_CFLAGS_DEBUG - - Specifies the C compiler flags for debug builds. - The value of this variable is typically handled by qmake or \l{#QMAKESPEC}{qmake.conf} and - rarely needs to be modified. - - \target QMAKE_CFLAGS_RELEASE - \section1 QMAKE_CFLAGS_RELEASE - - Specifies the C compiler flags for release builds. - The value of this variable is typically handled by qmake or \l{#QMAKESPEC}{qmake.conf} - and rarely needs to be modified. - - \target QMAKE_CFLAGS_SHLIB - \section1 QMAKE_CFLAGS_SHLIB - - \note This variable is used on Unix platforms only. - - Specifies the compiler flags for creating a shared - library. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target QMAKE_CFLAGS_THREAD - \section1 QMAKE_CFLAGS_THREAD - - Specifies the compiler flags for creating a multi-threaded - application. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target QMAKE_CFLAGS_WARN_OFF - \section1 QMAKE_CFLAGS_WARN_OFF - - This variable is used only when the \c {warn_off} \l{#CONFIG}{CONFIG} option - is set. The value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_CFLAGS_WARN_ON - \section1 QMAKE_CFLAGS_WARN_ON - - This variable is used only when the \c {warn_on} \l{#CONFIG}{CONFIG} option - is set. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_CLEAN - \section1 QMAKE_CLEAN - - Specifies a list of generated files (by \l{moc} and \l{uic}, for example) and - object files to be removed by \c {make clean}. - - \section1 QMAKE_CXX - - Specifies the C++ compiler that will be used when building - projects containing C++ source code. Only the file name of the compiler - executable needs to be specified as long as it is on a path contained - in the \c PATH variable when the Makefile is processed. - - \section1 QMAKE_CXXFLAGS - - Specifies the C++ compiler flags for building - a project. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. The flags specific to debug and release modes can be - adjusted by modifying the \c QMAKE_CXXFLAGS_DEBUG and - \c QMAKE_CXXFLAGS_RELEASE variables, respectively. - - \target QMAKE_CXXFLAGS_DEBUG - \section1 QMAKE_CXXFLAGS_DEBUG - - Specifies the C++ compiler flags for debug builds. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_CXXFLAGS_RELEASE - \section1 QMAKE_CXXFLAGS_RELEASE - - Specifies the C++ compiler flags for release builds. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_CXXFLAGS_SHLIB - \section1 QMAKE_CXXFLAGS_SHLIB - - Specifies the C++ compiler flags for creating a shared library. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target QMAKE_CXXFLAGS_THREAD - \section1 QMAKE_CXXFLAGS_THREAD - - Specifies the C++ compiler flags for creating a multi-threaded application. - The value of this variable is typically handled by qmake or \l{#QMAKESPEC} - {qmake.conf} and rarely needs to be modified. - - \target QMAKE_CXXFLAGS_WARN_OFF - \section1 QMAKE_CXXFLAGS_WARN_OFF - - Specifies the C++ compiler flags for suppressing compiler - warnings. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target QMAKE_CXXFLAGS_WARN_ON - \section1 QMAKE_CXXFLAGS_WARN_ON - - Specifies C++ compiler flags for generating compiler warnings. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target QMAKE_DISTCLEAN - \section1 QMAKE_DISTCLEAN - - Specifies a list of files to be removed by \c{make distclean}. - - \target QMAKE_EXTENSION_SHLIB - \section1 QMAKE_EXTENSION_SHLIB - - Contains the extension for shared libraries. The value of - this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \note Platform-specific variables that change the extension override - the contents of this variable. - - \section1 QMAKE_EXT_MOC - - Contains the extension used on included moc files. - - See also \l{Configuring qmake#Extensions}{File Extensions}. - - \section1 QMAKE_EXT_UI - - Contains the extension used on \QD UI files. - - See also \l{Configuring qmake#Extensions}{File Extensions}. - - \section1 QMAKE_EXT_PRL - - Contains the extension used on created PRL files. - - See also \l{Configuring qmake#Extensions}{File Extensions}, - \l{LibDepend}{Library Dependencies}. - - \section1 QMAKE_EXT_LEX - - Contains the extension used on files given to Lex. - - See also \l{Configuring qmake#Extensions}{File Extensions}, - \l{#LEXSOURCES}{LEXSOURCES}. - - \section1 QMAKE_EXT_YACC - Contains the extension used on files given to Yacc. - - See also \l{Configuring qmake#Extensions}{File Extensions}, - \l{#YACCSOURCES}{YACCSOURCES}. - - \section1 QMAKE_EXT_OBJ - - Contains the extension used on generated object files. - - See also \l{Configuring qmake#Extensions}{File Extensions}. - - \section1 QMAKE_EXT_CPP - - Contains suffixes for files that should be interpreted as C++ source code. - - See also \l{Configuring qmake#Extensions}{File Extensions}. - - \section1 QMAKE_EXT_H - - Contains suffixes for files which should be interpreted as C header files. - - See also \l{Configuring qmake#Extensions}{File Extensions}. - - \section1 QMAKE_EXTRA_COMPILERS - - Specifies a list of additional compilers or preprocessors. - - See also \l{Adding Compilers}. - - \section1 QMAKE_EXTRA_TARGETS - - Specifies a list of additional qmake targets. - - See also \l{Adding Custom Targets}. - - \target QMAKE_FAILED_REQUIREMENTS - \section1 QMAKE_FAILED_REQUIREMENTS - - Contains the list of failed requirements. - The value of this variable is set by qmake and cannot be modified. - - See also \l{requires(condition)}{requires()} and \l{REQUIRES}. - - \section1 QMAKE_FRAMEWORK_BUNDLE_NAME - - \note This variable is used on Mac OS X only. - - In a framework project, this variable contains the name to be used for the - framework that is built. - - By default, this variable contains the same value as the \l{#TARGET}{TARGET} - variable. - - See \l{Creating Frameworks} for - more information about creating frameworks and library bundles. - - \target QMAKE_FRAMEWORK_VERSION - \section1 QMAKE_FRAMEWORK_VERSION - - \note This variable is used on Mac OS X only. - - For projects where the build target is a Mac OS X framework, this variable - is used to specify the version number that will be applied to the framework - that is built. - - By default, this variable contains the same value as the \l{#VERSION}{VERSION} - variable. - - See \l{Creating Frameworks} for more information about creating frameworks. - - \target QMAKE_INCDIR - \section1 QMAKE_INCDIR - - Specifies the list of system header paths that are appended to \l{INCLUDEPATH}. - The value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_INCDIR_EGL - \section1 QMAKE_INCDIR_EGL - - Specifies the location of EGL header files to be added to - \l{INCLUDEPATH} when building a target with OpenGL/ES or OpenVG support. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target QMAKE_INCDIR_OPENGL - \section1 QMAKE_INCDIR_OPENGL - - Specifies the location of OpenGL header files to be added - to \l{INCLUDEPATH} when building a target with OpenGL support. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - If the OpenGL implementation uses EGL (most OpenGL/ES systems), - then QMAKE_INCDIR_EGL may also need to be set. - - \section1 QMAKE_INCDIR_OPENGL_ES1, QMAKE_INCDIR_OPENGL_ES2 - - These variables specify the location of OpenGL headers files to be added - to \l{INCLUDEPATH} when building a target with OpenGL ES 1 - or OpenGL ES 2 support respectively. - - The value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - If the OpenGL implementation uses EGL (most OpenGL/ES systems), - then QMAKE_INCDIR_EGL may also need to be set. - - \target QMAKE_INCDIR_OPENVG - \section1 QMAKE_INCDIR_OPENVG - - Specifies the location of OpenVG header files to be added - to \l{INCLUDEPATH} when building a target with OpenVG support. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - If the OpenVG implementation uses EGL then QMAKE_INCDIR_EGL may also - need to be set. - - \target QMAKE_INCDIR_X11 - \section1 QMAKE_INCDIR_X11 - - \note This variable is used on Unix platforms only. - - Specifies the location of X11 header file paths to be added - to \l{INCLUDEPATH} when building a X11 target. The value of this variable - is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \target QMAKE_INFO_PLIST - \section1 QMAKE_INFO_PLIST - - \note This variable is used on Mac OS X platforms only. - - Specifies the name of the property list file, \c{.plist}, you - would like to include in your Mac OS X application bundle. - - In the \c{.plist} file, you can define some variables, e.g., @EXECUTABLE@, - which qmake will replace with the actual executable name. Other variables - include @ICON@, @TYPEINFO@, @LIBRARY@, and @SHORT_VERSION@. - - \note Most of the time, the default \c{Info.plist} is good enough. - - \section1 QMAKE_LFLAGS - - Specifies a general set of flags that are passed to - the linker. If you need to change the flags used for a particular - platform or type of project, use one of the specialized variables - for that purpose instead of this variable. - - \target QMAKE_LFLAGS_CONSOLE - \section1 QMAKE_LFLAGS_CONSOLE - - \note This variable is used on Windows only. - - Specifies the linker flags for building console programs. The value - of this variable is typically handled by qmake - or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_DEBUG - - Specifies the linker flags for debug builds. - The value of this variable is typically handled by qmake or \l{#QMAKESPEC}{qmake.conf} - and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_PLUGIN - - Specifies the linker flags for building plugins. The value of this - variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_RPATH - - \note This variable is used on Unix platforms only. - - Specifies the linker flags needed to use the values from \l{QMAKE_RPATHDIR}. - - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_RPATHLINK - - Specifies the linker flags needed to use the values from - \l{QMAKE_RPATHLINKDIR}. - - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_RELEASE - - Specifies the linker flags for release builds. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_APP - - Specifies the linker flags for building applications. - The value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LFLAGS_SHLIB - - Specifies the linker flags used for building shared libraries. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_LFLAGS_SONAME - - Specifies the linker flags for setting the name of shared objects, - such as .so or .dll. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_LFLAGS_THREAD - - Specifies the linker flags for building multi-threaded projects. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_LFLAGS_WINDOWS - - \note This variable is used on Windows only. - - Specifies the linker flags for building Windows GUI projects (that is, - non-console applications). The value of this variable is typically handled - by qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_LIBDIR - - Specifies a list of system library paths. - The value of this variable is typically handled by qmake - or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LIBDIR_FLAGS - - \note This variable is used on Unix platforms only. - - Specifies the location of all library directories with -L - prefixed. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_LIBDIR_EGL - - Specifies the location of the EGL library directory, when EGL - is used with OpenGL/ES or OpenVG. The value of this variable is typically - handled by qmake or \l{#QMAKESPEC}{qmake.conf} - and rarely needs to be modified. - - \section1 QMAKE_LIBDIR_OPENGL - - Specifies the location of the OpenGL library directory. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - If the OpenGL implementation uses EGL (most OpenGL/ES systems), - then QMAKE_LIBDIR_EGL may also need to be set. - - \section1 QMAKE_LIBDIR_OPENVG - - Specifies the location of the OpenVG library directory. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - If the OpenVG implementation uses EGL, then QMAKE_LIBDIR_EGL - may also need to be set. - - \section1 QMAKE_LIBDIR_X11 - - \note This variable is used on Unix platforms only. - - Specifies the location of the X11 library directory. The value - of this variable is typically handled by qmake - or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LIBS - - Specifies all project libraries. The value of this variable - is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LIBS_EGL - - Specifies all EGL libraries when building Qt with OpenGL/ES - or OpenVG. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. The usual value is \c{-lEGL}. - - \section1 QMAKE_LIBS_OPENGL - - Specifies all OpenGL libraries. The value of this variable - is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - If the OpenGL implementation uses EGL (most OpenGL/ES systems), - then QMAKE_LIBS_EGL may also need to be set. - - \section1 QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES2 - - These variables specify all the OpenGL libraries for OpenGL ES 1 - and OpenGL ES 2. - - The value of these variables is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - If the OpenGL implementation uses EGL (most OpenGL/ES systems), - then QMAKE_LIBS_EGL may also need to be set. - - \section1 QMAKE_LIBS_OPENVG - - Specifies all OpenVG libraries. The value of this variable - is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. The usual - value is \c{-lOpenVG}. - - Some OpenVG engines are implemented on top of OpenGL. This will - be detected at configure time and QMAKE_LIBS_OPENGL will be implicitly - added to QMAKE_LIBS_OPENVG wherever the OpenVG libraries are linked. - - If the OpenVG implementation uses EGL, then QMAKE_LIBS_EGL may also - need to be set. - - \section1 QMAKE_LIBS_THREAD - - \note This variable is used on Unix platforms only. - - Specifies all libraries that need to be linked against when - building a multi-threaded target. The value of this variable is - typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LIBS_X11 - - \note This variable is used on Unix platforms only. - - Specifies all X11 libraries. The value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LIB_FLAG - - This variable is not empty if the \c lib template is specified. The value - of this variable is typically handled by qmake - or \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_LINK_SHLIB_CMD - - Specifies the command to execute when creating a shared - library. The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_LN_SHLIB - - Specifies the command to execute when creating a link to a shared library. The - value of this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_POST_LINK - - Specifies the command to execute after linking the \l{TARGET} - together. This variable is normally empty and therefore nothing is - executed. - - \note This variable takes no effect on Xcode projects. - - \section1 QMAKE_PRE_LINK - - Specifies the command to execute before linking the \l{TARGET} - together. This variable is normally empty and therefore nothing is - executed. - - \note This variable takes no effect on Xcode projects. - - \section1 QMAKE_PROJECT_NAME - - \note This variable is used for Visual Studio project files only. - - Determines the name of the project when generating project - files for IDEs. The default value is the target name. The value of this - variable is typically handled by qmake and rarely needs to be modified. - - \section1 QMAKE_MAC_SDK - - This variable is used on Mac OS X when building universal binaries. - - \section1 QMAKE_MACOSX_DEPLOYMENT_TARGET - - This variable only takes effect when building on Mac OS X. On that - platform, the variable will be forwarded to the MACOSX_DEPLOYMENT_TARGET - environment variable, which is interpreted by the compiler or linker. - For more information, see the - \l{Deploying an Application on Mac OS X#Mac OS X Version Dependencies}{Deploying - an Application on Mac OS X} document. - - \section1 QMAKE_MAKEFILE - - Specifies the name of the Makefile to create. The value of - this variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QMAKE_QMAKE - - Contains the abosolute path of the qmake executable. - - \note Do not attempt to overwrite the value of this variable. - - \section1 QMAKE_RESOURCE_FLAGS - - This variable is used to customize the list of options passed to the - \l{rcc}{Resource Compiler} in each of the build rules where it is used. - For example, the following line ensures that the \c{-threshold} and - \c{-compress} options are used with particular values each time that - \c rcc is invoked: - - \snippet snippets/code/doc_src_qmake-manual.pro 45 - - \section1 QMAKE_RPATHDIR - - \note This variable is used on Unix platforms only. - - Specifies a list of library paths that are added to the - executable at link time so that the paths will be preferentially - searched at runtime. - - \section1 QMAKE_RPATHLINKDIR - - Specifies a list of library paths for the static linker to search for implicit - dependencies of shared libraries. For more information, see the manual page - for \c ld(1). - - \section1 QMAKE_RUN_CC - - Specifies the individual rule needed to build an object. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_RUN_CC_IMP - - Specifies the individual rule needed to build an object. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_RUN_CXX - - Specifies the individual rule needed to build an object. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_RUN_CXX_IMP - - Specifies the individual rule needed to build an object. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 QMAKE_TARGET - - Specifies the name of the project target. The value of this - variable is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 QT - - Specifies the Qt modules that are used by your project. - - The table below shows the options that can be used with the \c QT variable - and the Qt modules that are associated with each of them: - - \table - \header \li Option \li Module Enabled - \row \li axcontainer \li \l{Using ActiveX controls and COM in Qt} - {QAxContainer}, which is - part of the \l{Active Qt} framework - \row \li axserver \li \l{Building ActiveX servers in Qt} - {QAxServer}, which is - part of the \l{Active Qt} framework - \row \li concurrent \li \l{Qt Concurrent} - \row \li core (included by default) \li \l{Qt Core} - \row \li dbus \li \l{Qt D-Bus} - \row \li declarative \li \l{Qt Quick 1} (deprecated) - \row \li designer \li \l{Qt Designer} - \row \li designercomponents \li \l{Qt Designer Components} - \row \li gui (included by default) \li \l{Qt GUI} - \row \li help \li \l{Qt Help} - \row \li multimedia \li \l{Qt Multimedia} - \row \li multimediawidgets \li \l{Qt Multimedia Widgets} - \row \li network \li \l{Qt Network} - \row \li opengl \li \l{Qt OpenGL} (deprecated) - \row \li printsupport \li \l{Qt Print Support} - \row \li qml \li \l{Qt QML} - \row \li qmltest \li \l{Qt QML Test} - \row \li x11extras \li \l{Qt X11 Extras} - \row \li quick \li \l{Qt Quick} - \row \li script \li \l{Qt Script} (deprecated) - \row \li scripttools \li \l{Qt Script Tools} (deprecated) - \row \li sensors \li \l{Qt Sensors} - \row \li serialport \li \l{Qt Serial Port} - \row \li sql \li \l{Qt SQL} - \row \li svg \li \l{Qt SVG} - \row \li testlib \li \l{Qt Test} - \row \li uitools \li \l{Qt UI Tools} - \row \li webkit \li \l{Qt WebKit} - \row \li webkitwidgets \li \l{Qt WebKit Widgets} - \row \li widgets \li \l{Qt Widgets} - \row \li xml \li \l{Qt XML} (deprecated) - \row \li xmlpatterns \li \l{Qt XML Patterns} - \endtable - - By default, \c QT contains both \c core and \c gui, ensuring that standard - GUI applications can be built without further configuration. - - If you want to build a project \e without the \l{Qt GUI} module, you need to - exclude the \c gui value with the "-=" operator. The following line will - result in a minimal Qt project being built: - - \snippet snippets/code/doc_src_qmake-manual.pro 47 - - \section1 QTPLUGIN - - Specifies a list of names of static Qt plugins that are to be - linked with an application so that they are available as built-in - resources. - - \target QT_VERSION_variable - \section1 QT_VERSION - - Contains the current version of Qt. - - \target QT_MAJOR_VERSION - \section1 QT_MAJOR_VERSION - - Contains the current major version of Qt. - - \target QT_MINOR_VERSION - \section1 QT_MINOR_VERSION - - Contains the current minor version of Qt. - - \target QT_PATCH_VERSION - \section1 QT_PATCH_VERSION - - Contains the current patch version of Qt. - - \section1 RC_FILE - - Specifies the name of the resource file for the application. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 RC_INCLUDEPATH - - Specifies include paths that are passed to the Windows Resource Compiler. - - \target RCC_DIR - \section1 RCC_DIR - - Specifies the directory for Qt Resource Compiler output files. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 48 - - \target REQUIRES - \section1 REQUIRES - - Specifies a list of values that are evaluated as conditions. If any of the conditions is false, - qmake skips this project (and its \l{SUBDIRS}) when building. - - \note We recommend using the \l{requires(condition)}{requires()} function - instead if you want to skip projects or subprojects when building. - - \target RESOURCES - \section1 RESOURCES - - Specifies the name of the resource collection files (qrc) - for the target. For more information about the resource collection - file, see \l{The Qt Resource System}. - - \section1 RES_FILE - - Specifies the name of the compiled Windows resource file for the target. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target SIGNATURE_FILE - \section1 SIGNATURE_FILE - - \note This variable is only used on Windows CE. - - Specifies which signature file should be used to sign the project target. - - \note This variable will overwrite the setting you have specified in configure, - with the \c -signature option. - - \target SOURCES - \section1 SOURCES - - Specifies the names of all source files in the project. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 49 - - See also \l{#HEADERS}{HEADERS}. - - \target SUBDIRS - \section1 SUBDIRS - - This variable, when used with the \l{#TEMPLATE}{\c subdirs template} - Specifies the names of all subdirectories or project files that contain - parts of the project that need be built. Each subdirectory specified - using this variable must contain its own project file. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 50 - - It is essential that the project file in each subdirectory has the same - name as the subdirectory itself, so that qmake - can find it. For example, if the subdirectory is called \c myapp then the - project file in that directory should be called \c myapp.pro. - - If you need to ensure that the subdirectories are built in the order in - which they are specified, update the \l{#CONFIG}{CONFIG} variable to - include the \c ordered option: - - \snippet snippets/code/doc_src_qmake-manual.pro 51 - - It is possible to modify this default behavior of \c SUBDIRS by giving - additional modifiers to \c SUBDIRS elements. Supported modifiers are: - - \table - \header \li Modifier \li Effect - \row \li .subdir \li Use the specified subdirectory instead of \c SUBDIRS value. - \row \li .file \li Specify the subproject \c pro file explicitly. Cannot be - used in conjunction with \c .subdir modifier. - \row \li .depends \li This subproject depends on specified subproject. - Available only on platforms that use makefiles. - \row \li .makefile \li The makefile of subproject. - Available only on platforms that use makefiles. - \row \li .target \li Base string used for makefile targets related to this - subproject. - Available only on platforms that use makefiles. - \endtable - - For example, define two subdirectories, both of which reside in a different directory - than the \c SUBDIRS value, and one of the subdirectories must be built before the other: - - \snippet snippets/code/doc_src_qmake-manual.pro 149 - - \target TARGET - \section1 TARGET - - Specifies the name of the target file. Contains the base name of the project - file by default. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 52 - - The project file above would produce an executable named \c myapp on - unix and \c{myapp.exe} on Windows. - - \section1 TARGET_EXT - - Specifies the extension of \c TARGET. The value of this variable - is typically handled by qmake or - \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified. - - \section1 TARGET_x - - Specifies the extension of \c TARGET with a major version number. - The value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \section1 TARGET_x.y.z - - Specifies the extension of \c TARGET with version number. The - value of this variable is typically handled by - qmake or \l{#QMAKESPEC}{qmake.conf} and rarely - needs to be modified. - - \target TEMPLATE - \section1 TEMPLATE - - Specifies the name of the template to use when generating the project. The - allowed values are: - - \table - \header \li Option \li Description - \row \li app \li Creates a Makefile for building applications - (the default). See \l{Building an Application} for more information. - \row \li lib \li Creates a Makefile for building libraries. See - \l{Building a Library} for more information. - \row \li subdirs \li Creates a Makefile for building targets in subdirectories. - The subdirectories are specified using the \l{#SUBDIRS}{SUBDIRS} - variable. - \row \li vcapp \li Windows only. Creates an application project for - Visual Studio. See \l{Creating Visual Studio Project Files} for more - information. - \row \li vclib \li Windows only. Creates a library project for Visual Studio. - \endtable - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 53 - - The template can be overridden by specifying a new template type with the - \c -t command line option. This overrides the template type \e after the .pro - file has been processed. With .pro files that use the template type to - determine how the project is built, it is necessary to declare TEMPLATE on - the command line rather than use the \c -t option. - - \section1 TRANSLATIONS - - Specifies a list of translation (.ts) files that contain - translations of the user interface text into non-native languages. - - See the \l{Qt Linguist Manual} for more information about - internationalization (i18n) and localization (l10n) with Qt. - - \target UI_DIR - \section1 UI_DIR - - Specifies the directory where all intermediate files from uic - should be placed. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 54 - - \target VERSION - \section1 VERSION - - Specifies the version number of the application if the \c app \l{#TEMPLATE}{template} is - specified or the version number of the library if the \c lib template is specified. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 57 - - \section1 VER_MAJ - - Specifies the major version number of the library if the - \c lib \l{#TEMPLATE}{template} is specified. - - \section1 VER_MIN - - Specifies the minor version number of the library if the - \c lib \l{#TEMPLATE}{template} is specified. - - \section1 VER_PAT - - Specifies the patch version number of the library if the - \c lib \l{#TEMPLATE}{template} is specified. - - \section1 VPATH - - Tells qmake where to search for files it cannot open. For example, if qmake - looks for \c SOURCES and finds an entry that it cannot open, it looks - through the entire VPATH list to see if it can find the file on its own. - - See also \l{#DEPENDPATH}{DEPENDPATH}. - - \target YACCSOURCES - \section1 YACCSOURCES - - Specifies a list of Yacc source files to be included - in the project. All dependencies, headers and source files will - automatically be included in the project. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 58 - - \section1 _PRO_FILE_ - - Contains the path to the project file in use. - - For example, the following line causes the location of the project - file to be written to the console: - - \snippet snippets/qmake/project_location.pro project file - - \note Do not attempt to overwrite the value of this variable. - - \section1 _PRO_FILE_PWD_ - - Contains the path to the directory containing the project file in use. - - For example, the following line causes the location of the directory - containing the project file to be written to the console: - - \snippet snippets/qmake/project_location.pro project file directory - - \note Do not attempt to overwrite the value of this variable. -*/ - -/*! - \page qmake-function-reference.html - \title Replace Functions - \contentspage {qmake Manual}{Contents} - \previouspage Variables - \nextpage Test Functions - - qmake provides functions for processing the contents of variables - during the configuration process. These functions are called - \e {replace functions}. Typically, they return values that you can - assign to other variables. You can obtain these values by prefixing a - function with the \c $$ operator. Replace functions can be divided into - built-in functions and function libraries. - - See also \l{Test Functions}. - - \section1 Built-in Replace Functions - - Basic replace functions are implemented as built-in functions. - - \section2 absolute_path(path[, base]) - - Returns the absolute path of \c path. - - If \c base is not specified, uses the current directory as the base - directory. - - For example, the following call returns the string - \c {"/home/johndoe/myproject/readme.txt"}: - - \snippet snippets/code/doc_src_qmake-manual.pro 159 - - See also \l{clean_path(path)}{clean_path()}, - \l{relative_path(filePath[, base])}{relative_path()}. - - \section2 basename(variablename) - - Returns the basename of the file specified in \c variablename. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 59 - - \section2 cat(filename[, mode]) - - Returns the contents of \c filename. You can specify the following options - for \c mode: - - \list - \li \c blob returns the entire contents of the file as one value - \li \c lines returns each line as a separate value (without line - endings) - \li \c true (default value) and \c false return file contents as - separate values, split according to qmake value list splitting rules - (as in variable assignments). If \c mode is \c false, values that - contain only a newline character are inserted into the list to - indicate where line breaks were in the file. - \endlist - - \section2 clean_path(path) - - Returns \c path with directory separators normalized (converted to "/") and - redundant ones removed, and "."s and ".."s resolved (as far as possible). - This function is a wrapper around QDir::cleanPath. - - See also \l{absolute_path(path[, base])}{absolute_path()}, - \l{relative_path(filePath[, base])}{relative_path()}, - \l{shell_path(path)}{shell_path()}, \l{system_path(path)}{system_path()}. - - \section2 dirname(file) - - Returns the directory name part of the specified file. For example: - - \snippet snippets/qmake/dirname.pro 0 - - \section2 enumerate_vars - - Returns a list of all defined variable names. - - \section2 escape_expand(arg1 [, arg2 ..., argn]) - - Accepts an arbitrary number of arguments. It expands the - escape sequences \c {\n}, \c {\r}, \c {\t} for each argument and returns - the arguments as a list. - - \note If you specify the string to expand literally, you need to escape the - backslashes, as illustrated by the following code snippet: - - \snippet snippets/code/doc_src_qmake-manual.pro 173 - - \target findfunction - \section2 find(variablename, substr) - - Returns all the values in \c variablename that match the regular expression - \c substr. - - \snippet snippets/code/doc_src_qmake-manual.pro 64 - - MY_VAR2 will contain '-Lone -Ltwo -Lthree -Lfour -Lfive', and MY_VAR3 will - contain 'three two three'. - - \section2 first(variablename) - - Returns the first value of \c variablename. - - For example, the following call returns \c firstname: - - \snippet snippets/code/doc_src_qmake-manual.pro 161 - - See also \l{last(variablename)}{last()}. - - \section2 format_number(number[, options...]) - - Returns \c number in the format specified by \c options. You can specify the - following options: - - \list - \li \c ibase=n sets the base of the input to \c n - \li \c obase=n sets the base of the output to \c n - \li \c width=n sets the minimum width of the output to \c n. If the - output is shorter than \c width, it is padded with spaces - \li \c zeropad pads the output with zeroes instead of spaces - \li \c padsign prepends a space to positive values in the output - \li \c alwayssign prepends a plus sign to positive values in the output - \li \c leftalign places the padding to the right of the value in the - output - \endlist - - Floating-point numbers are currently not supported. - - For example, the following call converts the hexadecimal number \c BAD to - \c 002989: - - \snippet snippets/code/doc_src_qmake-manual.pro 163 - - \section2 fromfile(filename, variablename) - - Evaluates \c filename as a qmake project file and returns the value assigned - to \c variablename. - - See also \l{infile(filename, var, val)}{infile()}. - - \section2 join(variablename, glue, before, after) - - Joins the value of \c variablename with \c glue. If this value is - not empty, this function prefixes the value with \c before and suffixes it - with \c after. \c variablename is the only required field, the others default - to empty strings. If you need to encode spaces in \c glue, \c before, or \c - after, you must quote them. - - \section2 last(variablename) - - Returns the last value of \c variablename. - - For example, the following call returns \c phone: - - \snippet snippets/code/doc_src_qmake-manual.pro 162 - - See also \l{first(variablename)}{first()}. - - \section2 list(arg1 [, arg2 ..., argn]) - - Takes an arbitrary number of arguments. It creates a uniquely - named variable that contains a list of the arguments, and returns the name - of that variable. You can use the variable to write a loop as illustrated by - the following code snippet - - \snippet snippets/code/doc_src_qmake-manual.pro 170 - - instead of: - - \snippet snippets/code/doc_src_qmake-manual.pro 171 - - \section2 lower(arg1 [, arg2 ..., argn]) - - Takes an arbitrary number of arguments and converts them to lower case. - - See also \l{upper(arg1 [, arg2 ..., argn])}{upper()}. - - \section2 member(variablename, position) - - Returns the value at the given \c position in the list of items in - \c variablename. - If an item cannot be found at the position specified, an empty string is - returned. \c variablename is the only required field. If not specified, - \c position defaults to 0, causing the first value in the list to be - returned. - - \section2 prompt(question) - - Displays the specified \c question, and returns a value read from stdin. - - \section2 quote(string) - - Converts a whole \c string into a single entity and returns the result. - This is just a fancy way of enclosing the string into double quotes. - - \section2 re_escape(string) - - Returns the \c string with every special regular expression character - escaped with a backslash. This function is a wrapper around QRegExp::escape. - - \section2 relative_path(filePath[, base]) - - Returns the path to \c filePath relative to \c base. If \c base is not - specified, it is the current project directory. This function is a wrapper - around QDir::relativeFilePath. - - See also \l{absolute_path(path[, base])}{absolute_path()}, - \l{clean_path(path)}{clean_path()}. - - \section2 replace(string, old_string, new_string) - - Replaces each instance of \c old_string with \c new_string in the - contents of the variable supplied as \c string. For example, the - code - - \snippet snippets/qmake/replace.pro 0 - - prints the message: - - \snippet snippets/code/doc_src_qmake-manual.pro 70 - - \section2 sprintf(string, arguments...) - - Replaces %1-%9 with the arguments passed in the comma-separated list - of function \c arguments and returns the processed string. - - \section2 resolve_depends(variablename, prefix) - - This is an internal function that you will typically not need. - - \section2 reverse(variablename) - - Returns the values of \c variablename in reverse order. - - \section2 section(variablename, separator, begin, end) - - Returns a section of the value of \c variablename. This function is a - wrapper around QString::section. - - For example, the following call outputs \c surname: - - \snippet snippets/code/doc_src_qmake-manual.pro 167 - - \section2 shadowed(path) - - Maps the path from the project source directory to the build directory. - This function returns \c path for in-source builds. It returns an empty - string if \c path points outside of the source tree. - - \section2 shell_path(path) - - Converts all directory separators within \c path to separators that are - compatible with the shell that is used while building the project (that is, - the shell that is invoked by the make tool). For example, slashes are - converted to backslashes when the Windows shell is used. - - See also \l{system_path(path)}{system_path()}. - - \section2 shell_quote(arg) - - Quotes \c arg for the shell that is used while building the project. - - See also \l{system_quote(arg)}{system_quote()}. - - \section2 size(variablename) - - Returns the number of values of \c variablename. - - \section2 sort_depends(variablename, prefix) - - This is an internal function that you will typically not need. - - \section2 split(variablename, separator) - - Splits the value of \c variablename into separate values, and returns them - as a list. This function is a wrapper around QString::split. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 168 - - \section2 system(command[, mode]) - - You can use this variant of the \c system function to obtain stdout from the - command and assign it to a variable. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 72 - - See also the test variant of \l{system(command)}{system()}. - - \section2 system_path(path) - - Converts all directory separators within \c path to separators that are - compatible with the shell that is used by the \c{system()} functions to - invoke commands. For example, slashes are converted to backslashes for the - Windows shell. - - See also \l{shell_path(path)}{shell_path()}. - - \section2 system_quote(arg) - - Quotes \c arg for the for the shell that is used by the \c{system()} - functions. - - See also \l{shell_quote(arg)}{shell_quote()}. - - \target unique - \section2 unique(variablename) - - Returns the list of values in \c variablename with duplicate entries removed. - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 73 - - \section2 upper(arg1 [, arg2 ..., argn]) - - Takes an arbitrary number of arguments and converts them to upper case. - - See also \l{lower(arg1 [, arg2 ..., argn])}{lower()}. - - \section2 val_escape(variablename) - - Escapes the values of \c variablename in a way that enables parsing them as - qmake code. -*/ - -/*! - \page qmake-test-function-reference.html - \title Test Functions - \contentspage {qmake Manual}{Contents} - \previouspage Replace Functions - - Test functions return a boolean value that you can test for in the - conditional parts of scopes. Test functions can be divided into - built-in functions and function libraries. - - See also \l{Replace Functions}. - - \section1 Built-in Test Functions - - Basic test functions are implemented as built-in functions. - - \section2 cache(variablename, [set|add|sub] [transient] [super], [source variablename]) - - This is an internal function that you will typically not need. - - \section2 CONFIG(config) - - This function can be used to test for variables placed into the - \l{CONFIG} variable. This is the same as scopes, - but has the added advantage that a second parameter can be passed to test for - the active config. As the order of values is important in \c CONFIG - variables (that is, the last one set will be considered the active config for - mutually exclusive values) a second parameter can be used to specify a set - of values to consider. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 60 - - Because release is considered the active setting (for feature parsing) - it will be the CONFIG used to generate the build file. In the common - case a second parameter is not needed, but for specific mutual - exclusive tests it is invaluable. - - \section2 contains(variablename, value) - - Succeeds if the variable \c variablename contains the value \c value; - otherwise fails. You can check the return value of this function using - a scope. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 61 - - The contents of the scope are only processed if the \c drivers - variable contains the value \c network. If this is the case, the - appropriate files are added to the \l{SOURCES} and \l{HEADERS} - variables. - - \target countfunction - \section2 count(variablename, number) - - Succeeds if the variable \c variablename contains a list with the - specified \c number of values; otherwise fails. - - This function is used to ensure that declarations inside a scope are - only processed if the variable contains the correct number of values. - For example: - - \snippet snippets/qmake/functions.pro 2 - - \section2 debug(level, message) - - Checks whether qmake runs at the specified debug level. If yes, it returns - true and prints a debug message. - - \section2 defined(name[, type]) - - Tests whether the function or variable \c name is defined. If \c type is - omitted, checks all functions. To check only variables or particular type of - functions, specify \c type. It can have the following values: - - \list - \li \c test only checks test functions - \li \c replace only checks replace functions - \li \c var only checks variables - \endlist - - \section2 equals(variablename, value) - - Tests whether \c variablename equals the string \c value. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 160 - - \section2 error(string) - - This function never returns a value. qmake displays \c string as an error - message to the user and exits. This function should only be used for - unrecoverable errors. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 62 - - \section2 eval(string) - - Evaluates the contents of the string using - qmake syntax rules and returns true. - Definitions and assignments can be used in the string to modify the - values of existing variables or create new definitions. - - For example: - \snippet snippets/qmake/functions.pro 4 - - \note Quotation marks can be used to delimit the string, and - the return value can be discarded if it is not needed. - - \section2 exists(filename) - - Tests whether a file with the given \c filename exists. - If the file exists, the function succeeds; otherwise it fails. - If a regular expression is specified for the filename, this function - succeeds if any file matches the regular expression specified. - - For example: - \snippet snippets/code/doc_src_qmake-manual.pro 63 - - \note "/" should be used as a directory separator, regardless of the - platform in use. - - \section2 export(variablename) - - Exports the current value of \c variablename from the local context of a - function to the global context. - - \section2 files(pattern[, recursive=false]) - - Expands the specified wildcard pattern and returns a list of filenames. - If \c recursive is true, this function descends into subdirectories. - - \target forfunction - \section2 for(iterate, list) - - Starts a loop that iterates over all values in \c list, setting \c iterate to each - value in turn. As a convenience, if \c list is 1..10 then iterate will - iterate over the values 1 through 10. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 65 - - \section2 greaterThan(variablename, value) - - Tests that the value of \c variablename is greater than \c value. First, - this function attempts a numerical comparison. If at least one of the - operands fails to convert, this function does a string comparison. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 164 - - It is impossible to compare two numbers as strings directly. As a - workaround, construct temporary values with a non-numeric prefix and compare - these. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 172 - - See also \l{lessThan(variablename, value)}{lessThan()}. - - \section2 if(condition) - - Evaluates \c condition. It is used to group boolean expressions. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 166 - - \section2 include(filename) - - Includes the contents of the file specified by \c filename into the - current project at the point where it is included. This function - succeeds if \c filename is included; otherwise it fails. The included - file is processed immediately. - - You can check whether the file was included by using this function as - the condition for a scope. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 66 - - \section2 infile(filename, var, val) - - Succeeds if the file \c filename (when parsed by qmake itself) contains the - variable \c var with a value of \c val; otherwise fails. If you do not - specify \c val, the function tests whether \c var has been assigned in - the file. - - \section2 isActiveConfig - - This is an alias for the \c CONFIG function. - - \section2 isEmpty(variablename) - - Succeeds if the variable \c variablename is empty; otherwise fails. - This is the equivalent of \c{count( variablename, 0 )}. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 67 - - \section2 isEqual - - This is an alias for the \c equals function. - - \section2 lessThan(variablename, value) - - Tests that the value of \c variablename is less than \c value. Works as - \l{greaterThan(variablename, value)}{greaterThan()}. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 165 - - \section2 load(feature) - - Loads the feature file (\c .prf) specified by \c feature, - unless the feature has already been loaded. - - \section2 log(message) - - Prints a message on the console. Unlike the \c message function, neither - prepends text nor appends a line break. - - See also \l{message(string)}{message()}. - - \section2 message(string) - - Always succeeds, and displays \c string as a general message to the user. - Unlike the \c error() function, this function allows processing to continue. - - \snippet snippets/code/doc_src_qmake-manual.pro 68 - - The above line causes "This is a message" to be written to the console. - The use of quotation marks is optional, but recommended. - - \note By default, messages are written out for each Makefile generated by - qmake for a given project. If you want to ensure that messages only appear - once for each project, test the \c build_pass variable - \l{Scopes}{in conjunction with a scope} to filter out - messages during builds. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 69 - - \section2 mkpath(dirPath) - - Creates the directory path \c dirPath. This function is a wrapper around the - QDir::makepath function. - - \section2 requires(condition) - - Evaluates \c condition. If the condition is false, qmake skips this - project (and its \l{SUBDIRS}) when building. - - \note You can also use the \l{REQUIRES} variable for this purpose. However, we - recommend using this function, instead. - - \section2 system(command) - - Executes the given \c command in a secondary shell. Succeeds - if the command returns with a zero exit status; otherwise fails. - You can check the return value of this function using a scope. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 71 - - See also the replace variant of \l{system(command[, mode])}{system()}. - - \target touchfunction - \section2 touch(filename, reference_filename) - - Updates the time stamp of \c filename to match the time stamp of - \c reference_filename. - - \section2 unset(variablename) - - Removes \c variablename from the current context. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 169 - - \section2 warning(string) - - Always succeeds, and displays \c string as a warning message to the user. - - \section2 write_file(filename, [variablename, [mode]]) - - Writes the values of \c variablename to a file with the name \c filename, - each value on a separate line. If \c variablename is not specified, creates - an empty file. If \c mode is \c append and the file already exists, appends - to it instead of replacing it. - - \section1 Test Function Library - - Complex test functions are implemented in a library of .prf files. - - \section2 packagesExist(packages) - - Uses the PKGCONFIG mechanism to determine whether or not the given packages - exist at the time of project parsing. - - This can be useful to optionally enable or disable features. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 157 - - And then, in the code: - - \snippet snippets/code/doc_src_qmake-manual.pro 158 -*/ - -/*! - \page qmake-environment-reference.html - \contentspage {qmake Manual}{Contents} - \previouspage Using Precompiled Headers - \nextpage Reference - - \title Configuring qmake - - \section1 Properties - - qmake has a system for persistent configuration, which allows you to set a - property in qmake once, and query it each time qmake is invoked. You can set - a property in qmake as follows: - - \snippet snippets/code/doc_src_qmake-manual.pro 74 - - The appropriate property and value should be substituted for - \c PROPERTY and \c VALUE. - - You can retrieve this information back from qmake as follows: - - \snippet snippets/code/doc_src_qmake-manual.pro 75 - - \note \c{qmake -query} lists built-in properties in addition to the - properties that you set with \c{qmake -set PROPERTY VALUE}. - - This information will be saved into a QSettings object (meaning it - will be stored in different places for different platforms). - - The following list summarizes the \c built-in properties: - - \list - \li QMAKE_SPEC - the shortname of the host \c mkspec that is resolved - and stored in the \l{QMAKESPEC} variable during a host build - \li QMAKE_VERSION - the current version of qmake - \li QMAKE_XSPEC - the shortname of the target \c mkspec that is resolved - and stored in the \l{QMAKESPEC} variable during a target build - \li QT_HOST_BINS - location of host executables - \li QT_HOST_DATA - location of data for host executables used by qmake - \li QT_HOST_PREFIX - default prefix for all host paths - \li QT_INSTALL_ARCHDATA - location of general architecture-dependent Qt - data - \li QT_INSTALL_BINS - location of Qt binaries (tools and applications) - \li QT_INSTALL_CONFIGURATION - location for Qt settings. Not applicable - on Windows - \li QT_INSTALL_DATA - location of general architecture-independent Qt - data - \li QT_INSTALL_DOCS - location of documentation - \li QT_INSTALL_EXAMPLES - location of examples - \li QT_INSTALL_HEADERS - location for all header files - \li QT_INSTALL_IMPORTS - location of QML 1.x extensions - \li QT_INSTALL_LIBEXECS - location of executables required by libraries at runtime - \li QT_INSTALL_LIBS - location of libraries - \li QT_INSTALL_PLUGINS - location of Qt plugins - \li QT_INSTALL_PREFIX - default prefix for all paths - \li QT_INSTALL_QML - location of QML 2.x extensions - \li QT_INSTALL_TESTS - location of Qt test cases - \li QT_INSTALL_TRANSLATIONS - location of translation information for - Qt strings - \li QT_SYSROOT - the sysroot used by the target build environment - \li QT_VERSION - the Qt version. We recommend that you query Qt module specific - version numbers by using $$QT.<module>.version variables instead. - \endlist - - For example, you can query the installation of Qt for this version of qmake with the - \c QT_INSTALL_PREFIX property: - - \snippet snippets/code/doc_src_qmake-manual.pro 77 - - You can query the values of properties in a project file as follows: - - \snippet snippets/code/doc_src_qmake-manual.pro 78 - - \target QMAKESPEC - \section1 QMAKESPEC - - qmake requires a platform and compiler - description file which contains many default values used to generate - appropriate Makefiles. The standard Qt distribution comes with many of - these files, located in the \c mkspecs subdirectory of the Qt installation. - - The \c QMAKESPEC environment variable can contain any of the following: - - \list - \li A complete path to a directory containing a \c{qmake.conf} file. - In this case qmake will open the - \c{qmake.conf} file from within that directory. If the file does not - exist, qmake will exit with an error. - \li The name of a platform-compiler combination. In this case, - qmake will search in the directory specified - by the \c mkspecs subdirectory of the data path specified when Qt was - compiled (see QLibraryInfo::DataPath). - \endlist - - \note The \c QMAKESPEC path will automatically be added to the - \l{INCLUDEPATH} system variable. - - \target cache - \section1 Cache File - - The cache file is a special file qmake reads to - find settings not specified in the \c qmake.conf file, project files, or - at the command line. When qmake is run, it looks for a file called - \c{.qmake.cache} in parent directories of the current directory, unless you - specify \c -nocache. If qmake - fails to find this file, it will silently ignore this step of processing. - - If qmake finds a \c{.qmake.cache} file then it will process this file first before - it processes the project file. - - \target Extensions - \section1 File Extensions - - Under normal circumstances qmake will try to - use appropriate file extensions for your platform. However, it is - sometimes necessary to override the default choices for each platform and - explicitly define file extensions for qmake to - use. This is achieved by redefining certain built-in variables. For - example, the extension used for \l moc files can be redefined with the - following assignment in a project file: - - \snippet snippets/code/doc_src_qmake-manual.pro 85 - - The following variables can be used to redefine common file extensions recognized - by qmake: - - \list - \li \l{QMAKE_EXT_MOC} modifies the extension placed on included moc files. - \li \l{QMAKE_EXT_UI} modifies the extension used for \QD UI files - (usually in \l{FORMS}). - \li \l{QMAKE_EXT_PRL} modifies the extension placed on - \l{#LibDepend}{library dependency files}. - \li \l{QMAKE_EXT_LEX} changes the suffix used in Lex files (usually in - \l{LEXSOURCES}). - \li \l{QMAKE_EXT_YACC} changes the suffix used in Yacc files (usually in - \l{YACCSOURCES}). - \li \l{QMAKE_EXT_OBJ} changes the suffix used on generated object files. - \endlist - - All of the above accept just the first value, so you must assign to it just one - value that will be used throughout your project file. There are two variables that - accept a list of values: - - \list - \li \l{QMAKE_EXT_CPP} causes qmake to interpret - all files with these suffixes as C++ source files. - \li \l{QMAKE_EXT_H} causes qmake to interpret - all files with these suffixes as C and C++ header files. - \endlist -*/ - -/*! - \page qmake-language.html - \title qmake Language - \contentspage {qmake Manual}{Contents} - \previouspage Platform Notes - \nextpage Advanced Usage - - Many qmake project files simply describe the - sources and header files used by the project, using a list of - \c{name = value} and \c{name += value} definitions. - qmake also provides other operators, functions, - and scopes that can be used to process the information supplied in - variable declarations. These advanced features allow Makefiles to be - generated for multiple platforms from a single project file. - - \section1 Operators - - In many project files, the assignment (\c{=}) and append (\c{+=}) operators can - be used to include all the information about a project. The typical pattern of - use is to assign a list of values to a variable, and append more values - depending on the result of various tests. Since - qmake defines certain variables using default - values, it is sometimes necessary to use the removal (\c{-=}) operator to - filter out values that are not required. The following sections describe how - to use operators to manipulate the contents of variables. - - \section2 Assigning Values - - The \c = operator assigns a value to a variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 89 - - The above line sets the \l{TARGET} variable to \c myapp. This will overwrite any - values previously set for \c TARGET with \c myapp. - - \section2 Appending Values - - The \c += operator appends a new value to the list of values in a variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 90 - - The above line appends \c USE_MY_STUFF to the list of pre-processor defines to be put - in the generated Makefile. - - \section2 Removing Values - - The \c -= operator removes a value from the list of values in a variable: - - \snippet snippets/code/doc_src_qmake-manual.pro 91 - - The above line removes \c USE_MY_STUFF from the list of pre-processor defines to be - put in the generated Makefile. - - \section2 Adding Unique Values - - The \c *= operator adds a value to the list of values in a variable, but only - if it is not already present. This prevents values from being included many - times in a variable. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 92 - - In the above line, \c USE_MY_STUFF will only be added to the list of pre-processor - defines if it is not already defined. Note that the \l{unique}{unique()} - function can also be used to ensure that a variable only contains one - instance of each value. - - \section2 Replacing Values - - The \c ~= operator replaces any values that match a regular expression with - the specified value: - - \snippet snippets/code/doc_src_qmake-manual.pro 93 - - In the above line, any values in the list that start with \c QT_D or \c QT_T are - replaced with \c QT. - - \section2 Variable Expansion - - The \c $$ operator is used to extract the contents of a variable, and can be - used to pass values between variables or supply them to functions: - - \snippet snippets/code/doc_src_qmake-manual.pro 94 - - Variables can be used to store the contents of environment variables. - These can be evaluated at the time when qmake - is run, or included in the generated Makefile for evaluation when the - project is built. - - To obtain the contents of an environment value when - qmake is run, use the \c $$(...) operator: - - \snippet doc/src/snippets/qmake/environment.pro 0 - - In the above assignment, the value of the \c PWD environment variable - is read when the project file is processed. - - To obtain the contents of an environment value at the time when the - generated Makefile is processed, use the \c $(...) operator: - - \snippet doc/src/snippets/qmake/environment.pro 1 - - In the above assignment, the value of \c PWD is read immediately - when the project file is processed, but \c $(PWD) is assigned to - \c DESTDIR in the generated Makefile. This makes the build process - more flexible as long as the environment variable is set correctly - when the Makefile is processed. - - \section2 Accessing qmake Properties - - The special \c $$[...] operator can be used to access qmake properties: - - \snippet doc/src/snippets/qmake/qtconfiguration.pro 0 - - For more information, see \l{Configuring qmake}. - - The properties accessible with this operator are typically used to - enable third party plugins and components to be integrated in Qt. - For example, a \QD plugin can be installed alongside \QD's built-in - plugins if the following declaration is made in its project file: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 101 - - \target Scopes - \section1 Scopes - - Scopes are similar to \c if statements in procedural programming languages. - If a certain condition is true, the declarations inside the scope are processed. - - \section2 Scope Syntax - - Scopes consist of a condition followed by an opening brace on the same line, - a sequence of commands and definitions, and a closing brace on a new line: - - \snippet snippets/qmake/scopes.pro syntax - - The opening brace \e{must be written on the same line as the condition}. - Scopes may be concatenated to include more than one condition, as described - in the following sections. - - \section2 Scopes and Conditions - - A scope is written as a condition followed by a series of declarations - contained within a pair of braces. For example: - - \snippet snippets/qmake/scopes.pro 0 - - The above code will add the \c paintwidget_win.cpp file to the sources listed - in the generated Makefile when building for a Windows platform. When - building for other platforms, the define will be ignored. - - The conditions used in a given scope can also be negated to provide an - alternative set of declarations that will be processed only if the - original condition is false. For example, to process something when building - for all platforms \e except Windows, negate the scope like this: - - \snippet snippets/qmake/scopes.pro 1 - - Scopes can be nested to combine more than one condition. For instance, to - include a particular file for a certain platform only if - debugging is enabled, write the following: - - \snippet snippets/qmake/scopes.pro 2 - - To save writing many nested scopes, you can nest scopes using the \c : - operator. The nested scopes in the above example can be rewritten in - the following way: - - \snippet snippets/qmake/scopes.pro 3 - - You may also use the \c : operator to perform single line conditional - assignments. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 95 - - The above line adds \c USE_MY_STUFF to the \l{DEFINES} variable only when - building for the Windows platform. - Generally, the \c : operator behaves like a logical AND operator, joining - together a number of conditions, and requiring all of them to be true. - - There is also the \c | operator to act like a logical OR operator, joining - together a number of conditions, and requiring only one of them to be true. - - \snippet snippets/qmake/scopes.pro 4 - - You can also provide alternative declarations to those within a scope by - using an \c else scope. Each \c else scope is processed if the conditions - for the preceding scopes are false. - This allows you to write complex tests when combined with other scopes - (separated by the \c : operator as above). For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 96 - - \section2 Configuration and Scopes - - The values stored in the \l{CONFIG} variable are - treated specially by qmake. Each of the possible - values can be used as the condition for a scope. For example, the list of - values held by \c CONFIG can be extended with the \c opengl value: - - \snippet snippets/qmake/configscopes.pro 0 - - As a result of this operation, any scopes that test for \c opengl will - be processed. We can use this feature to give the final executable an - appropriate name: - - \snippet snippets/qmake/configscopes.pro 1 - \snippet snippets/qmake/configscopes.pro 2 - \snippet snippets/qmake/configscopes.pro 3 - - This feature makes it easy to change the configuration for a project - without losing all the custom settings that might be needed for a specific - configuration. In the above code, the declarations in the first scope are - processed, and the final executable will be called \c application-gl. - However, if \c opengl is not specified, the declarations in the second - scope are processed instead, and the final executable will be called - \c application. - - Since it is possible to put your own values on the \c CONFIG - line, this provides you with a convenient way to customize project files - and fine-tune the generated Makefiles. - - \section2 Platform Scope Values - - In addition to the \c win32, \c macx, and \c unix values used in many - scope conditions, various other built-in platform and compiler-specific - values can be tested with scopes. These are based on platform - specifications provided in Qt's \c mkspecs directory. For example, the - following lines from a project file show the current specification in - use and test for the \c linux-g++ specification: - - \snippet snippets/qmake/specifications.pro 0 - - You can test for any other platform-compiler combination as long as a - specification exists for it in the \c mkspecs directory. - - \target UsingVariables - \section1 Variables - - Many of the variables used in project files are special variables that - qmake uses when generating Makefiles, such as \l{DEFINES}, \l{SOURCES}, and - \l{HEADERS}. In addition, you can create variables for your own use. qmake - creates new - variables with a given name when it encounters an assignment to that name. - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 97 - - There are no restricitions on what you do to your own variables, as - qmake will ignore them unless it needs to evaluate them when processing - a scope. - - You can also assign the value of a current variable to another - variable by prefixing $$ to the variable name. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 98 - - Now the MY_DEFINES variable contains what is in the DEFINES variable at - this point in the project file. This is also equivalent to: - - \snippet snippets/code/doc_src_qmake-manual.pro 99 - - The second notation allows you to append the contents of the variable to - another value without separating the two with a space. For example, the - following will ensure that the final executable will be given a name - that includes the project template being used: - - \snippet snippets/code/doc_src_qmake-manual.pro 100 - - \target UsingReplaceFunctions - \section1 Replace Functions - - qmake provides a selection of built-in - functions to allow the contents of variables to be processed. These - functions process the arguments supplied to them and return a value, or - list of values, as a result. To assign a result to a variable, use the \c $$ - operator with this type of function as you would to assign contents of one - variable to another: - - \snippet snippets/qmake/functions.pro 1 - - This type of function should be used on the right-hand side of - assignments (that is, as an operand). - - You can define your own functions for processing the contents of variables - as follows: - - \snippet snippets/code/doc_src_qmake-manual.pro 102 - - The following example function takes a variable name as its only - argument, extracts a list of values from the variable with the - \l{eval(string)}{eval()} built-in function, and compiles a list of files: - - \snippet snippets/qmake/replacefunction.pro 0 - - \target UsingTestFunctions - \section1 Test Functions - - qmake provides built-in functions that can be - used as conditions when writing scopes. These functions do not return a - value, but instead indicate \e success or \e failure: - - \snippet snippets/qmake/functions.pro 3 - - This type of function should be used in conditional expressions - only. - - It is possible to define your own functions to provide conditions - for scopes. The following example tests whether each file in a list - exists and returns true if they all exist, or false if not: - - \snippet snippets/qmake/testfunction.pro 0 -*/ - -/*! - \page qmake-advanced-usage.html - \title Advanced Usage - \contentspage {qmake Manual}{Contents} - \previouspage qmake Language - \nextpage Using Precompiled Headers - - \section1 Adding New Configuration Features - - qmake lets you create your own \c features that - can be included in project files by adding their names to the list of - values specified by the \l{CONFIG} variable. Features are collections of - custom functions and definitions in \c{.prf} files that can reside in one - of many standard directories. The locations of these directories are - defined in a number of places, and qmake checks - each of them in the following order when it looks for \c{.prf} files: - - \omit - TODO: Fix the list, as it is incomplete and partly incorrect. - \endomit - - \list 1 - \li In a directory listed in the \c QMAKEFEATURES environment variable that - contains a colon-separated list of directories. - \li In a directory listed in the \c QMAKEFEATURES property variable that - contains a colon-spearated list of directories. - \omit - \li In a features directory beneath the project's root directory (where - the \c{.qmake.cache} file is generated). - \endomit - \li In a features directory residing within a \c mkspecs directory. - \c mkspecs directories can be located beneath any of the directories - listed in the \c QMAKEPATH environment variable that contains a - colon-separated list of directories. For example: - \c{$QMAKEPATH/mkspecs/<features>}. - \li In a features directory residing beneath the directory provided by the - \l{QMAKESPEC} environment variable. For example: \c{$QMAKESPEC/<features>}. - \li In a features directory residing in the \c data_install/mkspecs directory. - For example: \c{data_install/mkspecs/<features>}. - \li In a features directory that exists as a sibling of the directory - specified by the \c QMAKESPEC environment variable. - For example: \c{$QMAKESPEC/../<features>}. - \endlist - - The following features directories are searched for features files: - - \list 1 - \li \c{features/unix}, \c{features/win32}, or \c{features/macx}, depending on - the platform in use - \li \c features/ - \endlist - - For example, consider the following assignment in a project file: - - \snippet snippets/code/doc_src_qmake-manual.pro 103 - - With this addition to the \c CONFIG variable, - qmake will search the locations listed above for - the \c myfeatures.prf file after it has finished parsing your project file. - On Unix systems, it will look for the following file: - - \list 1 - \li \c $QMAKEFEATURES/myfeatures.prf (for each directory listed in the - \c QMAKEFEATURES environment variable) - \li \c $$QMAKEFEATURES/myfeatures.prf (for each directory listed in the - \c QMAKEFEATURES property variable) - \li \c myfeatures.prf (in the project's root directory) - \li \c $QMAKEPATH/mkspecs/features/unix/myfeatures.prf and - \c $QMAKEPATH/mkspecs/features/myfeatures.prf (for each directory - listed in the \c QMAKEPATH environment variable) - \li \c $QMAKESPEC/features/unix/myfeatures.prf and - \c $QMAKESPEC/features/myfeatures.prf - \li \c data_install/mkspecs/features/unix/myfeatures.prf and - \c data_install/mkspecs/features/myfeatures.prf - \li \c $QMAKESPEC/../features/unix/myfeatures.prf and - \c $QMAKESPEC/../features/myfeatures.prf - \endlist - - \note The \c{.prf} files must have names in lower case. - - \section1 Installing Files - - It is common on Unix to also use the build tool to install applications - and libraries; for example, by invoking \c{make install}. For this reason, - qmake has the concept of an \c {install set}, an - object which contains instructions about the way a part of a project is to - be installed. For example, a collection of documentation files can be - described in the following way: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 79 - - The \c path member informs qmake that the files - should be installed in \c /usr/local/program/doc (the path member), and the - \c files member specifies the files that should be copied to the - installation directory. In this case, everything in the \c docs directory - will be copied to \c /usr/local/program/doc. - - Once an install set has been fully described, you can append it to the - install list with a line like this: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 80 - - qmake will ensure that the specified files are - copied to the installation directory. If you require more control over - this process, you can also provide a definition for the \c extra member of - the object. For example, the following line tells - qmake to execute a series of commands for this - install set: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 81 - - The \c unix \l{Scopes and Conditions}{scope} - ensures that these particular commands are only executed on Unix platforms. - Appropriate commands for other platforms can be defined using other scope - rules. - - Commands specified in the \c extra member are executed before the instructions - in the other members of the object are performed. - - If you append a built-in install set to the \c INSTALLS variable and do - not specify \c files or \c extra members, qmake - will decide what needs to be copied for you. Currently, the \c target and \c dlltarget - install sets are supported. For example: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 82 - - In the above lines, qmake knows what needs to - be copied, and will handle the installation process automatically. - - \section1 Adding Custom Targets - - qmake tries to do everything expected of a - cross-platform build tool. This is often less than ideal when you really - need to run special platform-dependent commands. This can be achieved with - specific instructions to the different qmake backends. - - Customization of the Makefile output is performed through an object-style - API as found in other places in qmake. Objects are defined automatically by - specifying their \e members. For example: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 86 - - The definitions above define a qmake target called \c mytarget, containing a - Makefile target called \c{.buildfile} which in turn is generated with the - \l{touchfunction}{touch()} function. Finally, the - \c{.depends} member specifies that \c mytarget depends on \c mytarget2, - another target that is defined afterwards. \c mytarget2 is a dummy target. - It is only defined to echo some text to the console. - - The final step is to use the \c QMAKE_EXTRA_TARGETS variable to instruct - qmake that this object is a target to be built: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 87 - - This is all you need to do to actually build custom targets. Of course, - you may want to tie one of these targets to the - \l{TARGET}{qmake build target}. To do this, you - simply need to include your Makefile target in the list of - \l{PRE_TARGETDEPS}. - - Custom target specifications support the following members: - - \table - \header - \li Member - \li Description - \row - \li commands - \li The commands for generating the custom build target. - \row - \li CONFIG - \li Specific configuration options for the custom build target. Can be - set to \c recursive to indicate that rules should be created in the - Makefile to call the relevant target inside the sub-target specific - Makefile. This member defaults to creating an entry for each of the - sub-targets. - \row - \li depends - \li The existing build targets that the custom build target depends on. - \row - \li recurse - \li Specifies which sub-targets should be used when creating the rules - in the Makefile to call in the sub-target specific Makefile. This - member is used only when \c recursive is set in \c CONFIG. Typical - values are "Debug" and "Release". - \row - \li recurse_target - \li Specifies the target that should be built via the sub-target - Makefile for the rule in the Makefile. This member adds something - like \c {$(MAKE) -f Makefile.[subtarget] [recurse_target]}. This - member is used only when \c recursive is set in \c CONFIG. - \row - \li target - \li The name of the custom build target. - \endtable - - \section1 Adding Compilers - - It is possible to customize qmake to support new compilers and - preprocessors: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 88 - - With the above definitions, you can use a drop-in replacement for moc if one - is available. The command is executed on all arguments given to the - \c NEW_HEADERS variable (from the \c input member), and the result is written - to the file defined by the \c output member. This file is added to the - other source files in the project. Additionally, qmake will execute - \c depend_command to generate dependency information, and place this - information in the project as well. - - Custom compiler specifications support the following members: - - \table - \header - \li Member - \li Description - \row - \li commands - \li The commands used for for generating the output from the input. - \row - \li CONFIG - \li Specific configuration options for the custom compiler. See the - CONFIG table for details. - \row - \li depend_command - \li Specifies a command used to generate the list of dependencies for - the output. - \row - \li dependency_type - \li Specifies the type of file the output is. If it is a known type - (such as TYPE_C, TYPE_UI, TYPE_QRC), it is handled as one of those - type of files. - \row - \li depends - \li Specifies the dependencies of the output file. - \row - \li input - \li The variable that specifies the files that should be processed with - the custom compiler. - \row - \li name - \li A description of what the custom compiler is doing. This is only - used in some backends. - \row - \li output - \li The filename that is created from the custom compiler. - \row - \li output_function - \li Specifies a custom qmake function that is used to specify the - filename to be created. - \row - \li variables - \li Indicates that the variables specified here are replaced with - $(QMAKE_COMP_VARNAME) when referred to in the pro file as - $(VARNAME). - \row - \li variable_out - \li The variable that the files created from the output should be added - to. - \endtable - - The CONFIG member supports the following options: - - \table - \header - \li Option - \li Description - \row - \li combine - \li Indicates that all of the input files are combined into a single - output file. - \row - \li target_predeps - \li Indicates that the output should be added to the list of - \l{PRE_TARGETDEPS}. - \row - \li explicit_dependencies - \li The dependencies for the output only get generated from the depends - member and from nowhere else. - \row - \li no_link - \li Indicates that the output should not be added to the list of objects - to be linked in. - \endtable - - \target LibDepend - \section1 Library Dependencies - - Often when linking against a library, qmake - relies on the underlying platform to know what other libraries this - library links against, and lets the platform pull them in. In many cases, - however, this is not sufficient. For example, when statically linking a - library, no other libraries are linked to, and therefore no dependencies - to those libraries are created. However, an application that later links - against this library will need to know where to find the symbols that - the static library will require. qmake attempts to keep track of the - dependencies of a library, where appropriate, if you explicitly enable - tracking. - - The first step is to enable dependency tracking in the library itself. - To do this you must tell qmake to save information about the library: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 83 - - This is only relevant to the \c lib template, and will be ignored for all - others. When this option is enabled, qmake will create a file ending in .prl - which will save some meta-information about the library. This metafile is - just like an ordinary project file, but only contains internal variable - declarations. When installing this library, by specifying it as a target in - an \l{INSTALLS} declaration, qmake will automatically copy the .prl file to - the installation path. - - The second step in this process is to enable reading of this meta - information in the applications that use the static library: - - \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 84 - - When this is enabled, qmake will process all - libraries linked to by the application and find their meta-information. - qmake will use this to determine the relevant - linking information, specifically adding values to the application project - file's list of \l{DEFINES} as well as \l{LIBS}. Once - qmake has processed this file, it will then - look through the newly introduced libraries in the \c LIBS variable, and - find their dependent .prl files, continuing until all libraries have been - resolved. At this point, the Makefile is created as usual, and the - libraries are linked explicitly against the application. - - The .prl files should be created by qmake only, and should not be - transferred between operating systems, as they may contain - platform-dependent information. -*/ - -/*! - \page qmake-precompiledheaders.html - \title Using Precompiled Headers - \contentspage {qmake Manual}{Contents} - \previouspage Advanced Usage - \nextpage Configuring qmake - - \target Introduction - - Precompiled headers (PCH) are a performance feature supported by some - compilers to compile a stable body of code, and store the compiled - state of the code in a binary file. During subsequent compilations, - the compiler will load the stored state, and continue compiling the - specified file. Each subsequent compilation is faster because the - stable code does not need to be recompiled. - - qmake supports the use of precompiled headers - on some platforms and build environments, including: - \list - \li Windows - \list - \li nmake - \li Visual Studio projects (VS 2008 and later) - \endlist - \li Mac OS X - \list - \li Makefile - \li Xcode - \endlist - \li Unix - \list - \li GCC 3.4 and above - \endlist - \endlist - - \target ADD_PCH - \section1 Adding Precompiled Headers to Your Project - - The precompiled header must contain code which is \e stable - and \e static throughout your project. A typical precompiled header might - look like this: - - \snippet snippets/code/doc_src_qmake-manual.cpp 104 - - \note A precompiled header file needs to separate C includes from - C++ includes, since the precompiled header file for C files may not - contain C++ code. - - \target PROJECT_OPTIONS - \section2 Project Options - - To make your project use precompiled headers, you only need to define the - \l{PRECOMPILED_HEADER} variable in your project file: - - \snippet snippets/code/doc_src_qmake-manual.pro 105 - - qmake will handle the rest, to ensure the - creation and use of the precompiled header file. You do not need to - include the precompiled header file in \c HEADERS, as - qmake will do this if the configuration supports precompiled headers. - - All platforms that support precompiled headers have the configuration - option \c precompile_header set. Using this option, you may trigger - conditional blocks in your project file to add settings when using - precompiled headers. - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 106 - - \section1 Notes on Possible Issues - - On some platforms, the file name suffix for precompiled header files is - the same as that for other object files. For example, the following - declarations may cause two different object files with the same name to - be generated: - - \snippet snippets/code/doc_src_qmake-manual.pro 107 - - To avoid potential conflicts like these, give distinctive names to header - files that will be precompiled. - - \target EXAMPLE_PROJECT - \section1 Example Project - - You can find the following source code in the - \c{examples/qmake/precompile} directory in the Qt distribution: - - \section2 \c mydialog.ui - - The following image displays the mydialog.ui file in Qt Creator Design mode. - You can view the code in the Edit mode. - - \image qmake-precompile-ui.png - - \section2 \c stable.h - - \snippet snippets/qmake/precompile-stable.h 0 - - \omit - ##Keeping the snippet in qtdoc is a workaround, because it contains code - that would tell qdoc to start a new page. Remove it and put the - following snippet back after modularizing the docs. - \snippet examples/qmake/precompile/stable.h 0 - \endomit - - \section2 \c myobject.h - - \code - #include <QObject> - - class MyObject : public QObject - { - public: - MyObject(); - ~MyObject(); - }; - \endcode - - \omit - ##Remove the code and put the snippets back after modularizing the docs. - \snippet examples/qmake/precompile/myobject.h 0 - \endomit - - \section2 \c myobject.cpp - - \code - #include <iostream> - #include <QDebug> - #include <QObject> - #include "myobject.h" - - MyObject::MyObject() - : QObject() - { - std::cout << "MyObject::MyObject()\n"; - } - \endcode - - \omit - \snippet examples/qmake/precompile/myobject.cpp 0 - \endomit - - \section2 \c util.cpp - - \code - void util_function_does_nothing() - { - // Nothing here... - int x = 0; - ++x; - } - \endcode - - \omit - \snippet examples/qmake/precompile/util.cpp 0 - \endomit - - \section2 \c main.cpp - - \code - #include <QApplication> - #include <QPushButton> - #include <QLabel> - #include "myobject.h" - #include "mydialog.h" - - int main(int argc, char **argv) - { - QApplication app(argc, argv); - - MyObject obj; - MyDialog dialog; - - dialog.connect(dialog.aButton, SIGNAL(clicked()), SLOT(close())); - dialog.show(); - - return app.exec(); - } - \endcode - - \omit - \snippet examples/qmake/precompile/main.cpp 0 - \endomit - - \section2 \c precompile.pro - - \code - TEMPLATE = app - LANGUAGE = C++ - CONFIG += console precompile_header - CONFIG -= app_bundle - - # Use Precompiled headers (PCH) - PRECOMPILED_HEADER = stable.h - - HEADERS = stable.h \ - mydialog.h \ - myobject.h - SOURCES = main.cpp \ - mydialog.cpp \ - myobject.cpp \ - util.cpp - FORMS = mydialog.ui - \endcode - - \omit - \snippet examples/qmake/precompile/precompile.pro 0 - \endomit -*/ - -/*! - \page qmake-tutorial.html - \title Getting Started - \contentspage {qmake Manual}{Contents} - \previouspage Overview - \nextpage Creating Project Files - - This tutorial teaches you the basics of qmake. The other topics in this - manual contain more detailed information about using qmake. - - \section1 Starting off Simple - - Let's assume that you have just finished a basic implementation of - your application, and you have created the following files: - - \list - \li hello.cpp - \li hello.h - \li main.cpp - \endlist - - You will find these files in the \c{examples/qmake/tutorial} directory - of the Qt distribution. The only other thing you know about the setup of - the application is that it's written in Qt. First, using your favorite - plain text editor, create a file called \c hello.pro in - \c{examples/qmake/tutorial}. The first thing you need to do is add the - lines that tell qmake about the source and - header files that are part of your development project. - - We'll add the source files to the project file first. To do this you - need to use the \l{SOURCES} variable. - Just start a new line with \c {SOURCES +=} and put hello.cpp after it. - You should have something like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 108 - - We repeat this for each source file in the project, until we end up - with the following: - - \snippet snippets/code/doc_src_qmake-manual.pro 109 - - If you prefer to use a Make-like syntax, with all the files listed in - one go you can use the newline escaping like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 110 - - Now that the source files are listed in the project file, the header - files must be added. These are added in exactly the same way as source - files, except that the variable name we use is \l{HEADERS}. - - Once you have done this, your project file should look something like - this: - - \snippet snippets/code/doc_src_qmake-manual.pro 111 - - The target name is set automatically. It is the same as the project - filename, but with the suffix appropriate for the platform. For example, if - the project file is called \c hello.pro, the target will be \c hello.exe - on Windows and \c hello on Unix. If you want to use a different name - you can set it in the project file: - - \snippet snippets/code/doc_src_qmake-manual.pro 112 - - The finished project file should look like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 113 - - You can now use qmake to generate a Makefile - for your application. On the command line, in your project directory, - type the following: - - \snippet snippets/code/doc_src_qmake-manual.pro 114 - - Then type \c make or \c nmake depending on the compiler you use. - - For Visual Studio users, qmake can also generate Visual Studio project - files. For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 115 - - \section1 Making an Application Debuggable - - The release version of an application does not contain any debugging - symbols or other debugging information. During development, it is useful - to produce a debugging version of the application that has the - relevant information. This is easily achieved by adding \c debug to the - \l{CONFIG} variable in the project file. - - For example: - - \snippet snippets/code/doc_src_qmake-manual.pro 116 - - Use qmake as before to generate a Makefile. You will now obtain useful - information about your application when running it in a debugging - environment. - - \section1 Adding Platform-Specific Source Files - - After a few hours of coding, you might have made a start on the - platform-specific part of your application, and decided to keep the - platform-dependent code separate. So you now have two new files to - include into your project file: \c hellowin.cpp and \c - hellounix.cpp. We cannot just add these to the \c SOURCES - variable since that would place both files in the Makefile. So, what we - need to do here is to use a scope which will be processed depending on - which platform we are building for. - - A simple scope that adds the platform-dependent file for - Windows looks like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 117 - - When building for Windows, qmake adds \c hellowin.cpp to the list of source - files. When building for any other platform, qmake simply ignores it. Now - all that is left to be done is to create a scope for the Unix-specific file. - - When you have done that, your project file should look - something like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 118 - - Use qmake as before to generate a Makefile. - - \section1 Stopping qmake If a File Does Not Exist - - You may not want to create a Makefile if a certain file does not exist. - We can check if a file exists by using the \l{exists(filename)}{exists()} - function. We can stop qmake from processing by using the \l{error(string)} - {error()} function. This works in the same way as scopes do. Simply replace - the scope condition with the function. A check for a file called main.cpp looks - like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 119 - - The \c{!} symbol is used to negate the test. That is, \c{exists( main.cpp )} - is true if the file exists, and \c{!exists( main.cpp )} is true if the - file does not exist. - - \snippet snippets/code/doc_src_qmake-manual.pro 120 - - Use qmake as before to generate a makefile. - If you rename \c main.cpp temporarily, you will see the message and - qmake will stop processing. - - \section1 Checking for More than One Condition - - Suppose you use Windows and you want to be able to see statement - output with \c {qDebug()} when you run your application on the command line. - To see the output, you must build your application with the appropriate - console setting. We can easily put \c console on the \c CONFIG - line to include this setting in the Makefile on Windows. However, - let's say that we only want to add the \c CONFIG line when we are running - on Windows \e and when \c debug is already on the \c CONFIG line. - This requires using two nested scopes. First create one scope, then create - the other inside it. Put the settings to be processed inside the second - scope, like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 121 - - Nested scopes can be joined together using colons, so the final - project file looks like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 122 - - That's it! You have now completed the tutorial for - qmake, and are ready to write project files for - your development projects. -*/ - -/*! - \page qmake-common-projects.html - \title Building Common Project Types - \contentspage {qmake Manual}{Contents} - \previouspage Creating Project Files - \nextpage Running qmake - - This chapter describes how to set up qmake project files for three common - project types that are based on Qt: application, library, and plugin. - Although all project types use many of the same variables, each of - them uses project-specific variables to customize output files. - - Platform-specific variables are not described here. For more information, - see \l{Deploying an Application on Windows} and - \l{Developing Qt Applications for Mac OS X}. - - \target Application - \section1 Building an Application - - The \c app template tells qmake to generate a - Makefile that will build an application. With this template, the type of - application can be specified by adding one of the following options to the - \l{CONFIG} variable definition: - - \table - \header \li Option \li Description - \row \li windows \li The application is a Windows GUI application. - \row \li console \li \c app template only: the application is a Windows console - application. - \row \li testcase \li The application is \l{Building a Testcase}{an automated test}. - \endtable - - When using this template, the following qmake - system variables are recognized. You should use these in your .pro file to - specify information about your application. - - \list - \li \l{HEADERS} - A list of header files for the application. - \li \l{SOURCES} - A list of C++ source files for the application. - \li \l{FORMS} - A list of UI files for the application (created using - Qt Designer). - \li \l{LEXSOURCES} - A list of Lex source files for the application. - \li \l{YACCSOURCES} - A list of Yacc source files for the - application. - \li \l{TARGET} - Name of the executable for the application. This defaults - to the name of the project file. (The extension, if any, is added - automatically). - \li \l{DESTDIR} - The directory in which the target executable is placed. - \li \l{DEFINES} - A list of any additional pre-processor defines needed for - the application. - \li \l{INCLUDEPATH} - A list of any additional include paths needed for the - application. - \li \l{DEPENDPATH} - The dependency search path for the application. - \li \l{VPATH} - The search path to find supplied files. - \li \l{DEF_FILE} - Windows only: A .def file to be linked against for the - application. - \li \l{RC_FILE} - Windows only: A resource file for the application. - \li \l{RES_FILE} - Windows only: A resource file to be linked against for - the application. - \endlist - - You only need to use the system variables that you have values for. For - example, if you do not have any extra INCLUDEPATHs then you do not need - to specify any. qmake will add the necessary default values. - An example project file might look like this: - - \snippet snippets/code/doc_src_qmake-manual.pro 123 - - For items that are single valued, such as the template or the destination - directory, we use "="; but for multi-valued items we use "+=" to \e - add to the existing items of that type. Using "=" replaces the variable - value with the new value. For example, if we write \c{DEFINES=USE_MY_STUFF}, - all other definitions are deleted. - - \section1 Building a Testcase - - A testcase project is an \c app project intended to be run as an automated - test. Any \c app may be marked as a testcase by adding the value \c testcase - to the \c CONFIG variable. - - For testcase projects, qmake will insert a \c check - target into the generated Makefile. This target will run the application. - The test is considered to pass if it terminates with an exit code equal to zero. - - The \c check target automatically recurses through - \l{SUBDIRS} projects. This means it is - possible to issue a \c{make check} command from within a SUBDIRS project - to run an entire test suite. - - The execution of the \c check target may be customized by certain Makefile - variables. These variables are: - - \table - \header - \li Variable - \li Description - \row - \li TESTRUNNER - \li A command or shell fragment prepended to each test command. An example - use-case is a "timeout" script which will terminate a test if it does not - complete within a specified time. - \row - \li TESTARGS - \li Additional arguments appended to each test command. For example, it may - be useful to pass additional arguments to set the output file and format - from the test (such as the \c{-o filename,format} option supported by - \l{QTestLib}). - \endtable - - \note The variables must be set while invoking the \c make tool, not in the - .pro file. Most \c make tools support the setting of Makefile variables directly - on the command-line: - - \code - # Run tests through test-wrapper and use xunitxml output format. - # In this example, test-wrapper is a fictional wrapper script which terminates - # a test if it does not complete within the amount of seconds set by "--timeout". - # The "-o result.xml,xunitxml" options are interpreted by QTestLib. - make check TESTRUNNER="test-wrapper --timeout 120" TESTARGS="-o result.xml,xunitxml" - \endcode - - Testcase projects may be further customized with the following \c CONFIG options: - - \table - \header - \li Option - \li Description - \row - \li insignificant_test - \li The exit code of the test will be ignored during \c{make check}. - \endtable - - Testcases will often be written with \l{QTest} or \l{TestCase}, but - that is not a requirement to make use of \c{CONFIG+=testcase} and \c{make check}. - The only primary requirement is that the test program exit with a zero exit code - on success, and a non-zero exit code on failure. - - \target Library - \section1 Building a Library - - The \c lib template tells qmake to generate a Makefile that will build a - library. When using this template, the \l{VERSION} variable is supported, - in addition to the system variables that the \c app template supports. Use - the variables in your .pro file to specify information about the library. - - When using the \c lib template, the following options can be added to the - \l{CONFIG} variable to determine the type of library that is built: - - \table - \header \li Option \li Description - \row \li dll \li The library is a shared library (dll). - \row \li staticlib \li The library is a static library. - \row \li plugin \li The library is a plugin. - \endtable - - The following option can also be defined to provide additional information about - the library. - - \list - \li VERSION - The version number of the target library. For example, 2.3.1. - \endlist - - The target file name for the library is platform-dependent. For example, on - X11 and Mac OS X, the library name will be prefixed by \c lib. On Windows, - no prefix is added to the file name. - - \target Plugin - \section1 Building a Plugin - - Plugins are built using the \c lib template, as described in the previous - section. This tells qmake to generate a - Makefile for the project that will build a plugin in a suitable form for - each platform, usually in the form of a library. As with ordinary - libraries, the \l{VERSION} variable is used to specify information about the - plugin. - - \list - \li VERSION - The version number of the target library. For example, 2.3.1. - \endlist - - \section2 Building a Qt Designer Plugin - - \QD plugins are built using a specific set of configuration settings that - depend on the way Qt was configured for your system. For convenience, these - settings can be enabled by adding \c designer to the \l{Variables#QT}{QT} - variable. For example: - - \code - QT += widgets designer - \endcode - - See the \l{Qt Designer Examples} for more examples of plugin-based projects. - - \section1 Building and Installing in Debug and Release Modes - - Sometimes, it is necessary to build a project in both debug and release - modes. Although the \l{CONFIG} variable can hold both \c debug and \c release - options, the \c debug option overrides the \c release option. - - \section2 Building in Both Modes - - To enable a project to be built in both modes, you must add the - \c debug_and_release option to the \c CONFIG variable: - - \snippet snippets/qmake/debug_and_release.pro 0 - \snippet snippets/qmake/debug_and_release.pro 1 - - The scope in the above snippet modifies the build target in each mode to - ensure that the resulting targets have different names. Providing different - names for targets ensures that one will not overwrite the other. - - When qmake processes the project file, it will - generate a Makefile rule to allow the project to be built in both modes. - This can be invoked in the following way: - - \snippet snippets/code/doc_src_qmake-manual.pro 124 - - The \c build_all option can be added to the \c CONFIG variable in the - project file to ensure that the project is built in both modes by default: - - \snippet snippets/qmake/debug_and_release.pro 2 - - This allows the Makefile to be processed using the default rule: - - \snippet snippets/code/doc_src_qmake-manual.pro 125 - - \section2 Installing in Both Modes - - The \c build_all option also ensures that both versions of the target - will be installed when the installation rule is invoked: - - \snippet snippets/code/doc_src_qmake-manual.pro 126 - - It is possible to customize the names of the build targets depending on - the target platform. For example, a library or plugin may be named using a - different convention on Windows from the one used on Unix platforms: - - \omit - Note: This was originally used in the customwidgetplugin.pro file, but is - no longer needed there. - \endomit - \snippet snippets/code/doc_src_qmake-manual.pro 127 - - The default behavior in the above snippet is to modify the name used for - the build target when building in debug mode. An \c else clause could be - added to the scope to do the same for release mode. Left as it is, the - target name remains unmodified. -*/ - diff --git a/doc/src/images/qmake-precompile-ui.png b/doc/src/images/qmake-precompile-ui.png Binary files differdeleted file mode 100644 index 8c7b936f..00000000 --- a/doc/src/images/qmake-precompile-ui.png +++ /dev/null diff --git a/doc/src/snippets/code/doc_src_qmake-manual.cpp b/doc/src/snippets/code/doc_src_qmake-manual.cpp deleted file mode 100644 index bd63e600..00000000 --- a/doc/src/snippets/code/doc_src_qmake-manual.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//! [104] -// Add C includes here - -#if defined __cplusplus -// Add C++ includes here -#include <stdlib> -#include <iostream> -#include <vector> -#include <QApplication> // Qt includes -#include <QPushButton> -#include <QLabel> -#include "thirdparty/include/libmain.h" -#include "my_stable_class.h" -... -#endif -//! [104] - - diff --git a/doc/src/snippets/code/doc_src_qmake-manual.pro b/doc/src/snippets/code/doc_src_qmake-manual.pro deleted file mode 100644 index 0ee47858..00000000 --- a/doc/src/snippets/code/doc_src_qmake-manual.pro +++ /dev/null @@ -1,917 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#! [0] -make all -#! [0] - - -#! [1] -CONFIG += qt debug -#! [1] - - -#! [2] -QT += network xml -#! [2] - - -#! [3] -QT = network xml # This will omit the core and gui modules. -#! [3] - - -#! [4] -QT -= gui # Only the core module is used. -#! [4] - - -#! [5] -CONFIG += link_pkgconfig -PKGCONFIG += ogg dbus-1 -#! [5] - - -#! [6] -LIBS += -L/usr/local/lib -lmath -#! [6] - - -#! [7] -INCLUDEPATH = c:/msdev/include d:/stl/include -#! [7] - - -#! [8] -qmake [mode] [options] files -#! [8] - - -#! [9] -qmake -makefile [options] files -#! [9] - - -#! [10] -qmake -makefile -o Makefile "CONFIG+=test" test.pro -#! [10] - - -#! [11] -qmake "CONFIG+=test" test.pro -#! [11] - - -#! [12] -qmake -project [options] files -#! [12] - - -#! [13] -qmake -spec macx-g++ -#! [13] - - -#! [14] -QMAKE_LFLAGS += -F/path/to/framework/directory/ -#! [14] - - -#! [15] -LIBS += -framework TheFramework -#! [15] - - -#! [16] -TEMPLATE = lib -CONFIG += lib_bundle -#! [16] - - -#! [17] -FRAMEWORK_HEADERS.version = Versions -FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h -FRAMEWORK_HEADERS.path = Headers -QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS -#! [17] - - -#! [19] -qmake -spec macx-xcode project.pro -#! [19] - - -#! [20] -qmake -tp vc -#! [20] - - -#! [21] -qmake -tp vc -r -#! [21] - - -#! [22] -CONFIG -= embed_manifest_exe -#! [22] - - -#! [23] -CONFIG -= embed_manifest_dll -#! [23] - - -#! [24] -make all -#! [24] - - -#! [25] -build_pass:CONFIG(debug, debug|release) { - unix: TARGET = $$join(TARGET,,,_debug) - else: TARGET = $$join(TARGET,,,d) -} -#! [25] - - -#! [26] -CONFIG += console newstuff -... -newstuff { - SOURCES += new.cpp - HEADERS += new.h -} -#! [26] - - -#! [27] -DEFINES += USE_MY_STUFF -#! [27] - - -#! [28] -myFiles.files = path\*.png -DEPLOYMENT += myFiles -#! [28] - - -#! [29] -myFiles.files = path\file1.ext1 path2\file2.ext1 path3\* -myFiles.path = \some\path\on\device -someother.files = C:\additional\files\* -someother.path = \myFiles\path2 -DEPLOYMENT += myFiles someother -#! [29] - - -#! [30] -DESTDIR = ../../lib -#! [30] - - -#! [31] -DISTFILES += ../program.txt -#! [31] - - -#! [32] -FORMS = mydialog.ui \ - mywidget.ui \ - myconfig.ui -#! [32] - - -#! [33] -FORMS3 = my_uic3_dialog.ui \ - my_uic3_widget.ui \ - my_uic3_config.ui -#! [33] - - -#! [34] -HEADERS = myclass.h \ - login.h \ - mainwindow.h -#! [34] - - -#! [35] -INCLUDEPATH = c:/msdev/include d:/stl/include -#! [35] - - -#! [36] -target.path += $$[QT_INSTALL_PLUGINS]/imageformats -INSTALLS += target -#! [36] - - -#! [37] -LEXSOURCES = lexer.l -#! [37] - - -#! [38] -unix:LIBS += -L/usr/local/lib -lmath -win32:LIBS += c:/mylibs/math.lib -#! [38] - - -#! [39] -CONFIG += no_lflags_merge -#! [39] - - -#! [40] -unix:MOC_DIR = ../myproject/tmp -win32:MOC_DIR = c:/myproject/tmp -#! [40] - - -#! [41] -unix:OBJECTS_DIR = ../myproject/tmp -win32:OBJECTS_DIR = c:/myproject/tmp -#! [41] - - -#! [43] -FRAMEWORK_HEADERS.version = Versions -FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h -FRAMEWORK_HEADERS.path = Headers -QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS -#! [43] - - -#! [44] -QMAKE_BUNDLE_EXTENSION = .myframework -#! [44] - - -#! [45] -QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9 -#! [45] - - -#! [47] -QT -= gui # Only the core module is used. -#! [47] - - -#! [48] -unix:RCC_DIR = ../myproject/resources -win32:RCC_DIR = c:/myproject/resources -#! [48] - - -#! [49] -SOURCES = myclass.cpp \ - login.cpp \ - mainwindow.cpp -#! [49] - - -#! [50] -SUBDIRS = kernel \ - tools -#! [50] - - -#! [51] -CONFIG += ordered -#! [51] - - -#! [52] -TEMPLATE = app -TARGET = myapp -SOURCES = main.cpp -#! [52] - - -#! [53] -TEMPLATE = lib -SOURCES = main.cpp -TARGET = mylib -#! [53] - - -#! [54] -unix:UI_DIR = ../myproject/ui -win32:UI_DIR = c:/myproject/ui -#! [54] - - -#! [57] -VERSION = 1.2.3 -#! [57] - - -#! [58] -YACCSOURCES = moc.y -#! [58] - - -#! [59] -FILE = /etc/passwd -FILENAME = $$basename(FILE) #passwd -#! [59] - - -#! [60] -CONFIG = debug -CONFIG += release -CONFIG(release, debug|release):message(Release build!) #will print -CONFIG(debug, debug|release):message(Debug build!) #no print -#! [60] - - -#! [61] -contains( drivers, network ) { - # drivers contains 'network' - message( "Configuring for network build..." ) - HEADERS += network.h - SOURCES += network.cpp -} -#! [61] - - -#! [62] -error(An error has occurred in the configuration process.) -#! [62] - - -#! [63] -exists( $(QTDIR)/lib/libqt-mt* ) { - message( "Configuring for multi-threaded Qt..." ) - CONFIG += thread -} -#! [63] - - -#! [64] -MY_VAR = one two three four -MY_VAR2 = $$join(MY_VAR, " -L", -L) -Lfive -MY_VAR3 = $$member(MY_VAR, 2) $$find(MY_VAR, t.*) -#! [64] - - -#! [65] -LIST = 1 2 3 -for(a, LIST):exists(file.$${a}):message(I see a file.$${a}!) -#! [65] - - -#! [66] -include( shared.pri ) -OPTIONS = standard custom -!include( options.pri ) { - message( "No custom build options specified" ) -OPTIONS -= custom -} -#! [66] - - -#! [67] -isEmpty( CONFIG ) { -CONFIG += warn_on debug -} -#! [67] - - -#! [68] -message( "This is a message" ) -#! [68] - - -#! [69] -!build_pass:message( "This is a message" ) -#! [69] - - -#! [70] -This is a test. -#! [70] - - -#! [71] -system(ls /bin):HAS_BIN=FALSE -#! [71] - - -#! [72] -UNAME = $$system(uname -s) -contains( UNAME, [lL]inux ):message( This looks like Linux ($$UNAME) to me ) -#! [72] - - -#! [73] -ARGS = 1 2 3 2 5 1 -ARGS = $$unique(ARGS) #1 2 3 5 -#! [73] - - -#! [74] -qmake -set PROPERTY VALUE -#! [74] - - -#! [75] -qmake -query PROPERTY -qmake -query #queries all current PROPERTY/VALUE pairs -#! [75] - - -#! [77] -qmake -query "QT_INSTALL_PREFIX" -#! [77] - - -#! [78] -QMAKE_VERS = $$[QMAKE_VERSION] -#! [78] - - -#! [79] -documentation.path = /usr/local/program/doc -documentation.files = docs/* -#! [79] - - -#! [80] -INSTALLS += documentation -#! [80] - - -#! [81] -unix:documentation.extra = create_docs; mv master.doc toc.doc -#! [81] - - -#! [82] -target.path = /usr/local/myprogram -INSTALLS += target -#! [82] - - -#! [83] -CONFIG += create_prl -#! [83] - - -#! [84] -CONFIG += link_prl -#! [84] - - -#! [85] -QMAKE_EXT_MOC = .mymoc -#! [85] - - -#! [86] -mytarget.target = .buildfile -mytarget.commands = touch $$mytarget.target -mytarget.depends = mytarget2 - -mytarget2.commands = @echo Building $$mytarget.target -#! [86] - - -#! [87] -QMAKE_EXTRA_TARGETS += mytarget mytarget2 -#! [87] - - -#! [88] -new_moc.output = moc_${QMAKE_FILE_BASE}.cpp -new_moc.commands = moc ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT} -new_moc.depend_command = g++ -E -M ${QMAKE_FILE_NAME} | sed "s,^.*: ,," -new_moc.input = NEW_HEADERS -QMAKE_EXTRA_COMPILERS += new_moc -#! [88] - - -#! [89] -TARGET = myapp -#! [89] - - -#! [90] -DEFINES += USE_MY_STUFF -#! [90] - - -#! [91] -DEFINES -= USE_MY_STUFF -#! [91] - - -#! [92] -DEFINES *= USE_MY_STUFF -#! [92] - - -#! [93] -DEFINES ~= s/QT_[DT].+/QT -#! [93] - - -#! [94] -EVERYTHING = $$SOURCES $$HEADERS -message("The project contains the following files:") -message($$EVERYTHING) -#! [94] - - -#! [95] -win32:DEFINES += USE_MY_STUFF -#! [95] - - -#! [96] -win32:xml { - message(Building for Windows) - SOURCES += xmlhandler_win.cpp -} else:xml { - SOURCES += xmlhandler.cpp -} else { - message("Unknown configuration") -} -#! [96] - - -#! [97] -MY_VARIABLE = value -#! [97] - - -#! [98] -MY_DEFINES = $$DEFINES -#! [98] - - -#! [99] -MY_DEFINES = $${DEFINES} -#! [99] - - -#! [100] -TARGET = myproject_$${TEMPLATE} -#! [100] - - -#! [101] -target.path = $$[QT_INSTALL_PLUGINS]/designer -INSTALLS += target -#! [101] - - -#! [102] -defineReplace(functionName){ - #function code -} -#! [102] - - -#! [103] -CONFIG += myfeatures -#! [103] - - -#! [105] -PRECOMPILED_HEADER = stable.h -#! [105] - - -#! [106] -precompile_header:!isEmpty(PRECOMPILED_HEADER) { -DEFINES += USING_PCH -} -#! [106] - - -#! [107] -PRECOMPILED_HEADER = window.h -SOURCES = window.cpp -#! [107] - - -#! [108] -SOURCES += hello.cpp -#! [108] - - -#! [109] -SOURCES += hello.cpp -SOURCES += main.cpp -#! [109] - - -#! [110] -SOURCES = hello.cpp \ - main.cpp -#! [110] - - -#! [111] -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -#! [111] - - -#! [112] -TARGET = helloworld -#! [112] - - -#! [113] -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -#! [113] - - -#! [114] -qmake -o Makefile hello.pro -#! [114] - - -#! [115] -qmake -tp vc hello.pro -#! [115] - - -#! [116] -CONFIG += debug -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -#! [116] - - -#! [117] -win32 { - SOURCES += hellowin.cpp -} -#! [117] - - -#! [118] -CONFIG += debug -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -win32 { - SOURCES += hellowin.cpp -} -unix { - SOURCES += hellounix.cpp -} -#! [118] - - -#! [119] -!exists( main.cpp ) { - error( "No main.cpp file found" ) -} -#! [119] - - -#! [120] -CONFIG += debug -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -win32 { - SOURCES += hellowin.cpp -} -unix { - SOURCES += hellounix.cpp -} -!exists( main.cpp ) { - error( "No main.cpp file found" ) -} -#! [120] - - -#! [121] -win32 { - debug { - CONFIG += console - } -} -#! [121] - - -#! [122] -CONFIG += debug -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -win32 { - SOURCES += hellowin.cpp -} -unix { - SOURCES += hellounix.cpp -} -!exists( main.cpp ) { - error( "No main.cpp file found" ) -} -win32:debug { - CONFIG += console -} -#! [122] - - -#! [123] -TEMPLATE = app -DESTDIR = c:/helloapp -HEADERS += hello.h -SOURCES += hello.cpp -SOURCES += main.cpp -DEFINES += USE_MY_STUFF -CONFIG += release -#! [123] - - -#! [124] -make all -#! [124] - - -#! [125] -make -#! [125] - - -#! [126] -make install -#! [126] - - -#! [127] -CONFIG(debug, debug|release) { - mac: TARGET = $$join(TARGET,,,_debug) - win32: TARGET = $$join(TARGET,,d) -} -#! [127] - -#! [142] -DEPLOYMENT_PLUGIN += qjpeg -#! [142] - -#! [149] -SUBDIRS += my_executable my_library -my_executable.subdir = app -my_executable.depends = my_library -my_library.subdir = lib -#! [149] - -#! [157] -packagesExist(sqlite3 QtNetwork QtDeclarative) { - DEFINES += USE_FANCY_UI -} -#! [157] - -#! [158] -#ifdef USE_FANCY_UI - // Use the fancy UI, as we have extra packages available -#endif -#! [158] - -#! [159] -message($$absolute_path("readme.txt", "/home/johndoe/myproject")) -#! [159] - - -#! [160] -TARGET = helloworld -equals(TARGET, "helloworld") { - message("The target assignment was successful.") -} -#! [160] - - -#! [161] -CONTACT = firstname middlename surname phone -message($$first(CONTACT)) -#! [161] - - -#! [162] -CONTACT = firstname middlename surname phone -message($$last(CONTACT)) -#! [162] - - -#! [163] -message($$format_number(BAD, ibase=16 width=6 zeropad)) -#! [163] - - -#! [164] -ANSWER = 42 -greaterThan(ANSWER, 1) { - message("The answer might be correct.") -} -#! [164] - - -#! [165] -ANSWER = 42 -lessThan(ANSWER, 1) { - message("The answer might be wrong.") -} -#! [165] - - -#! [166] -if(linux-g++*|macx-g++*):CONFIG(debug, debug|release) { - message("We are on Linux or Mac OS, and we are in debug mode.") -} -#! [166] - - -#! [167] -CONTACT = firstname:middlename:surname:phone -message($$section(CONTACT, :, 2, 2)) -#! [167] - - -#! [168] -CONTACT = firstname:middlename:surname:phone -message($$split(CONTACT, :)) -#! [168] - -#! [169] -NARF = zort -unset(NARF) -!defined(NARF, var) { - message("NARF is not defined.") -} -#! [169] - - -#! [170] -for(var, $$list(foo bar baz)) { - ... -} -#! [170] - - -#! [171] -values = foo bar baz -for(var, values) { - ... -} -#! [171] - - -#! [172] -VALUE = 123 -TMP_VALUE = x$$VALUE -greaterThan(TMP_VALUE, x456): message("Condition may be true.") -#! [172] - - -#! [173] -message("First line$$escape_expand(\\n)Second line") -#! [173] diff --git a/doc/src/snippets/qmake/comments.pro b/doc/src/snippets/qmake/comments.pro deleted file mode 100644 index 957052c8..00000000 --- a/doc/src/snippets/qmake/comments.pro +++ /dev/null @@ -1,10 +0,0 @@ -#! [0] -# Comments usually start at the beginning of a line, but they -# can also follow other content on the same line. -#! [0] - -#! [1] -# To include a literal hash character, use the $$LITERAL_HASH variable: -urlPieces = http://qt-project.org/doc/qt-5.0/qtgui/qtextdocument.html pageCount -message($$join(urlPieces, $$LITERAL_HASH)) -#! [1] diff --git a/doc/src/snippets/qmake/configscopes.pro b/doc/src/snippets/qmake/configscopes.pro deleted file mode 100644 index 6ab7f7c4..00000000 --- a/doc/src/snippets/qmake/configscopes.pro +++ /dev/null @@ -1,23 +0,0 @@ -SOURCES = main.cpp -#! [0] -CONFIG += opengl -#! [0] - -#! [1] -opengl { - TARGET = application-gl -} else { -#! [1] #! [2] - TARGET = application -#! [2] #! [3] -} -#! [3] - -#! [4] -CONFIG(opengl) { - message(Building with OpenGL support.) -} else { -#! [4] #! [5] - message(OpenGL support is not available.) -} -#! [5] diff --git a/doc/src/snippets/qmake/debug_and_release.pro b/doc/src/snippets/qmake/debug_and_release.pro deleted file mode 100644 index 92e8dbf7..00000000 --- a/doc/src/snippets/qmake/debug_and_release.pro +++ /dev/null @@ -1,14 +0,0 @@ -#! [0] -CONFIG += debug_and_release - -CONFIG(debug, debug|release) { - TARGET = debug_binary -} else { -#! [0] #! [1] - TARGET = release_binary -} -#! [1] - -#! [2] -CONFIG += build_all -#! [2] diff --git a/doc/src/snippets/qmake/delegate.h b/doc/src/snippets/qmake/delegate.h deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/delegate.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/qmake/dereferencing.pro b/doc/src/snippets/qmake/dereferencing.pro deleted file mode 100644 index ff0c9799..00000000 --- a/doc/src/snippets/qmake/dereferencing.pro +++ /dev/null @@ -1,5 +0,0 @@ -#! [0] -TEMP_SOURCES = $$SOURCES -#! [0] -# Do something with the SOURCES variable then restore its old value. -SOURCES = $$TEMP_SOURCES diff --git a/doc/src/snippets/qmake/destdir.pro b/doc/src/snippets/qmake/destdir.pro deleted file mode 100644 index b2f94390..00000000 --- a/doc/src/snippets/qmake/destdir.pro +++ /dev/null @@ -1,2 +0,0 @@ -SOURCES = main.cpp -DESTDIR = output diff --git a/doc/src/snippets/qmake/dirname.pro b/doc/src/snippets/qmake/dirname.pro deleted file mode 100644 index 59e1f20b..00000000 --- a/doc/src/snippets/qmake/dirname.pro +++ /dev/null @@ -1,6 +0,0 @@ -#! [0] -FILE = /etc/X11R6/XF86Config -DIRNAME = $$dirname(FILE) #/etc/X11R6 -#! [0] -message($$FILE) -message($$DIRNAME) diff --git a/doc/src/snippets/qmake/environment.pro b/doc/src/snippets/qmake/environment.pro deleted file mode 100644 index 808bdeba..00000000 --- a/doc/src/snippets/qmake/environment.pro +++ /dev/null @@ -1,9 +0,0 @@ -#! [0] #! [1] -DESTDIR = $$(PWD) -message(The project will be installed in $$DESTDIR) -#! [0] - -DESTDIR = $(PWD) -message(The project will be installed in the value of PWD) -message(when the Makefile is processed.) -#! [1] diff --git a/doc/src/snippets/qmake/functions.pro b/doc/src/snippets/qmake/functions.pro deleted file mode 100644 index 27661207..00000000 --- a/doc/src/snippets/qmake/functions.pro +++ /dev/null @@ -1,34 +0,0 @@ -#! [0] -EXTRAS = handlers tests docs -for(dir, EXTRAS) { - exists($$dir) { - SUBDIRS += $$dir - } -} -#! [0] - -SOURCES = paintwidget_mac.cpp paintwidget_unix.cpp paintwidget_win.cpp -macx { - SOURCES = $$find(SOURCES, "_mac") -} - -#! [1] -HEADERS = model.h -HEADERS += $$OTHER_HEADERS -HEADERS = $$unique(HEADERS) -#! [1] - -CONFIG += debug -#! [2] -options = $$find(CONFIG, "debug") $$find(CONFIG, "release") -#! [3] -count(options, 2) { - message(Both release and debug specified.) -} -#! [2] #! [3] - -#! [4] -eval(TARGET = myapp) { - message($$TARGET) -} -#! [4] diff --git a/doc/src/snippets/qmake/include.pro b/doc/src/snippets/qmake/include.pro deleted file mode 100644 index 37e71569..00000000 --- a/doc/src/snippets/qmake/include.pro +++ /dev/null @@ -1,3 +0,0 @@ -#! [0] -include(other.pro) -#! [0] diff --git a/doc/src/snippets/qmake/main.cpp b/doc/src/snippets/qmake/main.cpp deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/main.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/qmake/model.cpp b/doc/src/snippets/qmake/model.cpp deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/model.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/qmake/model.h b/doc/src/snippets/qmake/model.h deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/model.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/qmake/other.pro b/doc/src/snippets/qmake/other.pro deleted file mode 100644 index e69de29b..00000000 --- a/doc/src/snippets/qmake/other.pro +++ /dev/null diff --git a/doc/src/snippets/qmake/paintwidget_mac.cpp b/doc/src/snippets/qmake/paintwidget_mac.cpp deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/paintwidget_mac.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/qmake/paintwidget_unix.cpp b/doc/src/snippets/qmake/paintwidget_unix.cpp deleted file mode 100644 index c39fc2cb..00000000 --- a/doc/src/snippets/qmake/paintwidget_unix.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -int main(int argc, char *argv[]) -{ - return 0; -} diff --git a/doc/src/snippets/qmake/paintwidget_win.cpp b/doc/src/snippets/qmake/paintwidget_win.cpp deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/paintwidget_win.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/qmake/precompile-stable.h b/doc/src/snippets/qmake/precompile-stable.h deleted file mode 100644 index eef8cef7..00000000 --- a/doc/src/snippets/qmake/precompile-stable.h +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//! [0] -/* Add C includes here */ - -#if defined __cplusplus -/* Add C++ includes here */ - -# include <iostream> -# include <QApplication> -# include <QPushButton> -# include <QLabel> -#endif -//! [0] diff --git a/doc/src/snippets/qmake/project_location.pro b/doc/src/snippets/qmake/project_location.pro deleted file mode 100644 index 09d9b3d9..00000000 --- a/doc/src/snippets/qmake/project_location.pro +++ /dev/null @@ -1,6 +0,0 @@ -#! [project file] -message($$_PRO_FILE_) -#! [project file] -#! [project file directory] -message($$_PRO_FILE_PWD_) -#! [project file directory] diff --git a/doc/src/snippets/qmake/qtconfiguration.pro b/doc/src/snippets/qmake/qtconfiguration.pro deleted file mode 100644 index 55e13be3..00000000 --- a/doc/src/snippets/qmake/qtconfiguration.pro +++ /dev/null @@ -1,18 +0,0 @@ -# Show information about the Qt installation. -#! [0] -message(Qt version: $$[QT_VERSION]) -message(Qt is installed in $$[QT_INSTALL_PREFIX]) -message(Qt resources can be found in the following locations:) -message(Documentation: $$[QT_INSTALL_DOCS]) -message(Header files: $$[QT_INSTALL_HEADERS]) -message(Libraries: $$[QT_INSTALL_LIBS]) -message(Binary files (executables): $$[QT_INSTALL_BINS]) -message(Plugins: $$[QT_INSTALL_PLUGINS]) -message(Data files: $$[QT_INSTALL_DATA]) -message(Translation files: $$[QT_INSTALL_TRANSLATIONS]) -message(Settings: $$[QT_INSTALL_SETTINGS]) -message(Examples: $$[QT_INSTALL_EXAMPLES]) -#! [0] - -# Show configuration information. -message(CONFIG = $$CONFIG) diff --git a/doc/src/snippets/qmake/quoting.pro b/doc/src/snippets/qmake/quoting.pro deleted file mode 100644 index 62efb204..00000000 --- a/doc/src/snippets/qmake/quoting.pro +++ /dev/null @@ -1,8 +0,0 @@ -#! [0] -DEST = "Program Files" -#! [0] -count(DEST, 1) { - message(Only one item found in DEST.) -} else { - message(More than one item found in DEST.) -} diff --git a/doc/src/snippets/qmake/replace.pro b/doc/src/snippets/qmake/replace.pro deleted file mode 100644 index 504e01a0..00000000 --- a/doc/src/snippets/qmake/replace.pro +++ /dev/null @@ -1,4 +0,0 @@ -#! [0] -MESSAGE = This is a tent. -message($$replace(MESSAGE, tent, test)) -#! [0] diff --git a/doc/src/snippets/qmake/replacefunction.pro b/doc/src/snippets/qmake/replacefunction.pro deleted file mode 100644 index 98013ba4..00000000 --- a/doc/src/snippets/qmake/replacefunction.pro +++ /dev/null @@ -1,46 +0,0 @@ -#! [0] -defineReplace(headersAndSources) { - variable = $$1 - names = $$eval($$variable) - headers = - sources = - - for(name, names) { - header = $${name}.h - exists($$header) { - headers += $$header - } - source = $${name}.cpp - exists($$source) { - sources += $$source - } - } - return($$headers $$sources) -} -#! [0] - -defineReplace(matchingFiles) { - names = $$ARGS - files = - - for(name, names) { - header = $${name}.h - source = $${name}.cpp - exists($$header):exists($$source) { - files += $$header - files += $$source - } - } - return($$files) -} - -names = delegate model view main -message(Finding all headers and sources from the following list of names:) -message($$names) -allFiles = $$headersAndSources(names) -message(Found: $$allFiles) - -message(Finding only matching headers and sources from the following list of names:) -message($$names) -matching = $$matchingFiles($$names) -message(Found: $$matching) diff --git a/doc/src/snippets/qmake/scopes.pro b/doc/src/snippets/qmake/scopes.pro deleted file mode 100644 index 63b9b3aa..00000000 --- a/doc/src/snippets/qmake/scopes.pro +++ /dev/null @@ -1,42 +0,0 @@ -#! [syntax] -<condition> { - <command or definition> - ... -} -#! [syntax] - -#! [0] -win32 { - SOURCES += paintwidget_win.cpp -} -#! [0] - -#! [1] -!win32 { - SOURCES -= paintwidget_win.cpp -} -#! [1] - -unix { - SOURCES += paintwidget_unix.cpp -} - -#! [2] -macx { - CONFIG(debug, debug|release) { - HEADERS += debugging.h - } -} -#! [2] - -#! [3] -macx:CONFIG(debug, debug|release) { - HEADERS += debugging.h -} -#! [3] - -#! [4] -win32|macx { - HEADERS += debugging.h -} -#! [4] diff --git a/doc/src/snippets/qmake/shared_or_static.pro b/doc/src/snippets/qmake/shared_or_static.pro deleted file mode 100644 index 31c25ea4..00000000 --- a/doc/src/snippets/qmake/shared_or_static.pro +++ /dev/null @@ -1,8 +0,0 @@ -TEMPLIBS = $$[QT_INSTALL_LIBS] libQtGui.prl -include($$join(TEMPLIBS, "/")) - -contains(QMAKE_PRL_CONFIG, shared) { - message(Shared Qt) -} else { - message(Static Qt) -} diff --git a/doc/src/snippets/qmake/spaces.pro b/doc/src/snippets/qmake/spaces.pro deleted file mode 100644 index 614d4c55..00000000 --- a/doc/src/snippets/qmake/spaces.pro +++ /dev/null @@ -1,9 +0,0 @@ -#! [quoting library paths with spaces] -win32:LIBS += "C:/mylibs/extra libs/extra.lib" -unix:LIBS += "-L/home/user/extra libs" -lextra -#! [quoting library paths with spaces] - -#! [quoting include paths with spaces] -win32:INCLUDEPATH += "C:/mylibs/extra headers" -unix:INCLUDEPATH += "/home/user/extra headers" -#! [quoting include paths with spaces] diff --git a/doc/src/snippets/qmake/specifications.pro b/doc/src/snippets/qmake/specifications.pro deleted file mode 100644 index f9a0d0a1..00000000 --- a/doc/src/snippets/qmake/specifications.pro +++ /dev/null @@ -1,7 +0,0 @@ -#! [0] -message($$QMAKESPEC) - -linux-g++ { - message(Linux) -} -#! [0] diff --git a/doc/src/snippets/qmake/testfunction.pro b/doc/src/snippets/qmake/testfunction.pro deleted file mode 100644 index 785ffed6..00000000 --- a/doc/src/snippets/qmake/testfunction.pro +++ /dev/null @@ -1,20 +0,0 @@ -#! [0] -defineTest(allFiles) { - files = $$ARGS - - for(file, files) { - !exists($$file) { - return(false) - } - } - return(true) -} -#! [0] - -files = delegate.h model.h view.h - -allFiles($$files) { - message(All files are present: $$files) -} else { - message(Not all files are present: $$files) -} diff --git a/doc/src/snippets/qmake/variables.pro b/doc/src/snippets/qmake/variables.pro deleted file mode 100644 index c1439ba6..00000000 --- a/doc/src/snippets/qmake/variables.pro +++ /dev/null @@ -1,7 +0,0 @@ -#! [0] -HEADERS = mainwindow.h paintwidget.h -#! [0] #! [1] -SOURCES = main.cpp mainwindow.cpp \ - paintwidget.cpp -CONFIG += console -#! [1] diff --git a/doc/src/snippets/qmake/view.h b/doc/src/snippets/qmake/view.h deleted file mode 100644 index 92c7eb6a..00000000 --- a/doc/src/snippets/qmake/view.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - diff --git a/doc/src/snippets/snippets.pro b/doc/src/snippets/snippets.pro index 2c4a632e..0bda06eb 100644 --- a/doc/src/snippets/snippets.pro +++ b/doc/src/snippets/snippets.pro @@ -44,7 +44,6 @@ SUBDIRS = brush \ qlistview-using \ qlistwidget-dnd \ qlistwidget-using \ -# qmake \ # not designed to be built qmetaobject-invokable \ qprocess \ qprocess-environment \ |