summaryrefslogtreecommitdiffstats
path: root/qmake/doc/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/doc/snippets')
-rw-r--r--qmake/doc/snippets/code/doc_src_qmake-manual.cpp58
-rw-r--r--qmake/doc/snippets/code/doc_src_qmake-manual.pro979
-rw-r--r--qmake/doc/snippets/qmake/comments.pro10
-rw-r--r--qmake/doc/snippets/qmake/configscopes.pro23
-rw-r--r--qmake/doc/snippets/qmake/debug_and_release.pro14
-rw-r--r--qmake/doc/snippets/qmake/delegate.h40
-rw-r--r--qmake/doc/snippets/qmake/dereferencing.pro5
-rw-r--r--qmake/doc/snippets/qmake/destdir.pro2
-rw-r--r--qmake/doc/snippets/qmake/dirname.pro6
-rw-r--r--qmake/doc/snippets/qmake/environment.pro9
-rw-r--r--qmake/doc/snippets/qmake/functions.pro34
-rw-r--r--qmake/doc/snippets/qmake/include.pro3
-rw-r--r--qmake/doc/snippets/qmake/main.cpp40
-rw-r--r--qmake/doc/snippets/qmake/model.cpp40
-rw-r--r--qmake/doc/snippets/qmake/model.h40
-rw-r--r--qmake/doc/snippets/qmake/other.pro0
-rw-r--r--qmake/doc/snippets/qmake/paintwidget_mac.cpp40
-rw-r--r--qmake/doc/snippets/qmake/paintwidget_unix.cpp44
-rw-r--r--qmake/doc/snippets/qmake/paintwidget_win.cpp40
-rw-r--r--qmake/doc/snippets/qmake/precompile-stable.h52
-rw-r--r--qmake/doc/snippets/qmake/project_location.pro6
-rw-r--r--qmake/doc/snippets/qmake/qtconfiguration.pro18
-rw-r--r--qmake/doc/snippets/qmake/quoting.pro8
-rw-r--r--qmake/doc/snippets/qmake/replace.pro4
-rw-r--r--qmake/doc/snippets/qmake/replacefunction.pro46
-rw-r--r--qmake/doc/snippets/qmake/scopes.pro42
-rw-r--r--qmake/doc/snippets/qmake/shared_or_static.pro8
-rw-r--r--qmake/doc/snippets/qmake/spaces.pro9
-rw-r--r--qmake/doc/snippets/qmake/specifications.pro7
-rw-r--r--qmake/doc/snippets/qmake/testfunction.pro20
-rw-r--r--qmake/doc/snippets/qmake/variables.pro7
-rw-r--r--qmake/doc/snippets/qmake/view.h40
32 files changed, 1694 insertions, 0 deletions
diff --git a/qmake/doc/snippets/code/doc_src_qmake-manual.cpp b/qmake/doc/snippets/code/doc_src_qmake-manual.cpp
new file mode 100644
index 0000000000..bd63e600cd
--- /dev/null
+++ b/qmake/doc/snippets/code/doc_src_qmake-manual.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/code/doc_src_qmake-manual.pro b/qmake/doc/snippets/code/doc_src_qmake-manual.pro
new file mode 100644
index 0000000000..ff1edb878d
--- /dev/null
+++ b/qmake/doc/snippets/code/doc_src_qmake-manual.pro
@@ -0,0 +1,979 @@
+/****************************************************************************
+**
+** 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 \
+ myapp
+#! [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]
+
+
+#! [174]
+TEMPLATE = subdirs
+SUBDIRS = one two three
+prepareRecursiveTarget(check)
+#! [174]
+
+
+#! [175]
+two.CONFIG += no_check_target
+#! [175]
+
+
+#! [176]
+QMAKE_EXTRA_TARGETS += check
+#! [176]
+
+
+#! [177]
+# <project root>/features/mycheck.prf
+equals(TEMPLATE, subdirs) {
+ prepareRecursiveTarget(check)
+} else {
+ check.commands = echo hello user
+}
+QMAKE_EXTRA_TARGETS += check
+#! [177]
+
+
+#! [178]
+# <project root>/.qmake.conf
+CONFIG += mycheck
+#! [178]
+
+
+#! [179]
+# <project root>/project.pro
+load(configure)
+#! [179]
+
+
+#! [180]
+# <project root>/config.tests/test/test.pro
+SOURCES = main.cpp
+LIBS += -ltheFeature
+# Note that the test project is built without Qt by default.
+#! [180]
+
+
+#! [181]
+// <project root>/config.tests/test/main.cpp
+#include <TheFeature/MainHeader.h>
+int main() { return featureFunction(); }
+#! [181]
+
+
+#! [182]
+# <project root>/project.pro
+qtCompileTest(test)
+#! [182]
diff --git a/qmake/doc/snippets/qmake/comments.pro b/qmake/doc/snippets/qmake/comments.pro
new file mode 100644
index 0000000000..957052c81d
--- /dev/null
+++ b/qmake/doc/snippets/qmake/comments.pro
@@ -0,0 +1,10 @@
+#! [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/qmake/doc/snippets/qmake/configscopes.pro b/qmake/doc/snippets/qmake/configscopes.pro
new file mode 100644
index 0000000000..6ab7f7c428
--- /dev/null
+++ b/qmake/doc/snippets/qmake/configscopes.pro
@@ -0,0 +1,23 @@
+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/qmake/doc/snippets/qmake/debug_and_release.pro b/qmake/doc/snippets/qmake/debug_and_release.pro
new file mode 100644
index 0000000000..92e8dbf76a
--- /dev/null
+++ b/qmake/doc/snippets/qmake/debug_and_release.pro
@@ -0,0 +1,14 @@
+#! [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/qmake/doc/snippets/qmake/delegate.h b/qmake/doc/snippets/qmake/delegate.h
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/delegate.h
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/dereferencing.pro b/qmake/doc/snippets/qmake/dereferencing.pro
new file mode 100644
index 0000000000..ff0c97995c
--- /dev/null
+++ b/qmake/doc/snippets/qmake/dereferencing.pro
@@ -0,0 +1,5 @@
+#! [0]
+TEMP_SOURCES = $$SOURCES
+#! [0]
+# Do something with the SOURCES variable then restore its old value.
+SOURCES = $$TEMP_SOURCES
diff --git a/qmake/doc/snippets/qmake/destdir.pro b/qmake/doc/snippets/qmake/destdir.pro
new file mode 100644
index 0000000000..b2f943904a
--- /dev/null
+++ b/qmake/doc/snippets/qmake/destdir.pro
@@ -0,0 +1,2 @@
+SOURCES = main.cpp
+DESTDIR = output
diff --git a/qmake/doc/snippets/qmake/dirname.pro b/qmake/doc/snippets/qmake/dirname.pro
new file mode 100644
index 0000000000..59e1f20b3f
--- /dev/null
+++ b/qmake/doc/snippets/qmake/dirname.pro
@@ -0,0 +1,6 @@
+#! [0]
+FILE = /etc/X11R6/XF86Config
+DIRNAME = $$dirname(FILE) #/etc/X11R6
+#! [0]
+message($$FILE)
+message($$DIRNAME)
diff --git a/qmake/doc/snippets/qmake/environment.pro b/qmake/doc/snippets/qmake/environment.pro
new file mode 100644
index 0000000000..808bdeba47
--- /dev/null
+++ b/qmake/doc/snippets/qmake/environment.pro
@@ -0,0 +1,9 @@
+#! [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/qmake/doc/snippets/qmake/functions.pro b/qmake/doc/snippets/qmake/functions.pro
new file mode 100644
index 0000000000..2766120719
--- /dev/null
+++ b/qmake/doc/snippets/qmake/functions.pro
@@ -0,0 +1,34 @@
+#! [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/qmake/doc/snippets/qmake/include.pro b/qmake/doc/snippets/qmake/include.pro
new file mode 100644
index 0000000000..37e7156957
--- /dev/null
+++ b/qmake/doc/snippets/qmake/include.pro
@@ -0,0 +1,3 @@
+#! [0]
+include(other.pro)
+#! [0]
diff --git a/qmake/doc/snippets/qmake/main.cpp b/qmake/doc/snippets/qmake/main.cpp
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/main.cpp
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/model.cpp b/qmake/doc/snippets/qmake/model.cpp
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/model.cpp
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/model.h b/qmake/doc/snippets/qmake/model.h
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/model.h
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/other.pro b/qmake/doc/snippets/qmake/other.pro
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/qmake/doc/snippets/qmake/other.pro
diff --git a/qmake/doc/snippets/qmake/paintwidget_mac.cpp b/qmake/doc/snippets/qmake/paintwidget_mac.cpp
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/paintwidget_mac.cpp
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/paintwidget_unix.cpp b/qmake/doc/snippets/qmake/paintwidget_unix.cpp
new file mode 100644
index 0000000000..c39fc2cbf6
--- /dev/null
+++ b/qmake/doc/snippets/qmake/paintwidget_unix.cpp
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/paintwidget_win.cpp b/qmake/doc/snippets/qmake/paintwidget_win.cpp
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/paintwidget_win.cpp
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/precompile-stable.h b/qmake/doc/snippets/qmake/precompile-stable.h
new file mode 100644
index 0000000000..eef8cef728
--- /dev/null
+++ b/qmake/doc/snippets/qmake/precompile-stable.h
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** 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/qmake/doc/snippets/qmake/project_location.pro b/qmake/doc/snippets/qmake/project_location.pro
new file mode 100644
index 0000000000..09d9b3d9d0
--- /dev/null
+++ b/qmake/doc/snippets/qmake/project_location.pro
@@ -0,0 +1,6 @@
+#! [project file]
+message($$_PRO_FILE_)
+#! [project file]
+#! [project file directory]
+message($$_PRO_FILE_PWD_)
+#! [project file directory]
diff --git a/qmake/doc/snippets/qmake/qtconfiguration.pro b/qmake/doc/snippets/qmake/qtconfiguration.pro
new file mode 100644
index 0000000000..55e13be352
--- /dev/null
+++ b/qmake/doc/snippets/qmake/qtconfiguration.pro
@@ -0,0 +1,18 @@
+# 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/qmake/doc/snippets/qmake/quoting.pro b/qmake/doc/snippets/qmake/quoting.pro
new file mode 100644
index 0000000000..62efb2042e
--- /dev/null
+++ b/qmake/doc/snippets/qmake/quoting.pro
@@ -0,0 +1,8 @@
+#! [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/qmake/doc/snippets/qmake/replace.pro b/qmake/doc/snippets/qmake/replace.pro
new file mode 100644
index 0000000000..504e01a018
--- /dev/null
+++ b/qmake/doc/snippets/qmake/replace.pro
@@ -0,0 +1,4 @@
+#! [0]
+MESSAGE = This is a tent.
+message($$replace(MESSAGE, tent, test))
+#! [0]
diff --git a/qmake/doc/snippets/qmake/replacefunction.pro b/qmake/doc/snippets/qmake/replacefunction.pro
new file mode 100644
index 0000000000..98013ba42d
--- /dev/null
+++ b/qmake/doc/snippets/qmake/replacefunction.pro
@@ -0,0 +1,46 @@
+#! [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/qmake/doc/snippets/qmake/scopes.pro b/qmake/doc/snippets/qmake/scopes.pro
new file mode 100644
index 0000000000..63b9b3aa55
--- /dev/null
+++ b/qmake/doc/snippets/qmake/scopes.pro
@@ -0,0 +1,42 @@
+#! [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/qmake/doc/snippets/qmake/shared_or_static.pro b/qmake/doc/snippets/qmake/shared_or_static.pro
new file mode 100644
index 0000000000..31c25ea44b
--- /dev/null
+++ b/qmake/doc/snippets/qmake/shared_or_static.pro
@@ -0,0 +1,8 @@
+TEMPLIBS = $$[QT_INSTALL_LIBS] libQtGui.prl
+include($$join(TEMPLIBS, "/"))
+
+contains(QMAKE_PRL_CONFIG, shared) {
+ message(Shared Qt)
+} else {
+ message(Static Qt)
+}
diff --git a/qmake/doc/snippets/qmake/spaces.pro b/qmake/doc/snippets/qmake/spaces.pro
new file mode 100644
index 0000000000..614d4c553d
--- /dev/null
+++ b/qmake/doc/snippets/qmake/spaces.pro
@@ -0,0 +1,9 @@
+#! [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/qmake/doc/snippets/qmake/specifications.pro b/qmake/doc/snippets/qmake/specifications.pro
new file mode 100644
index 0000000000..f9a0d0a1cb
--- /dev/null
+++ b/qmake/doc/snippets/qmake/specifications.pro
@@ -0,0 +1,7 @@
+#! [0]
+message($$QMAKESPEC)
+
+linux-g++ {
+ message(Linux)
+}
+#! [0]
diff --git a/qmake/doc/snippets/qmake/testfunction.pro b/qmake/doc/snippets/qmake/testfunction.pro
new file mode 100644
index 0000000000..785ffed6be
--- /dev/null
+++ b/qmake/doc/snippets/qmake/testfunction.pro
@@ -0,0 +1,20 @@
+#! [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/qmake/doc/snippets/qmake/variables.pro b/qmake/doc/snippets/qmake/variables.pro
new file mode 100644
index 0000000000..c1439ba68b
--- /dev/null
+++ b/qmake/doc/snippets/qmake/variables.pro
@@ -0,0 +1,7 @@
+#! [0]
+HEADERS = mainwindow.h paintwidget.h
+#! [0] #! [1]
+SOURCES = main.cpp mainwindow.cpp \
+ paintwidget.cpp
+CONFIG += console
+#! [1]
diff --git a/qmake/doc/snippets/qmake/view.h b/qmake/doc/snippets/qmake/view.h
new file mode 100644
index 0000000000..92c7eb6a48
--- /dev/null
+++ b/qmake/doc/snippets/qmake/view.h
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+