summaryrefslogtreecommitdiffstats
path: root/qmake/doc/src/qmake-manual.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/doc/src/qmake-manual.qdoc')
-rw-r--r--qmake/doc/src/qmake-manual.qdoc101
1 files changed, 88 insertions, 13 deletions
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index 05116b7b1b..60c6a10ba0 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -927,13 +927,9 @@
qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"
\endcode
- Or directly in the \c .pro file:
-
- \badcode
- ANDROID_ABIS = \
- armeabi-v7a \
- arm64-v8a
- \endcode
+ \note It is possible to use this variable inside the *.pro file, however,
+ it is not recommended since it will override any ABIs specified on the
+ \c qmake command line.
\target ANDROID_API_VERSION
\section1 ANDROID_API_VERSION
@@ -994,6 +990,19 @@
to enable OpenSSL in your application. For more information, see
\l{Adding OpenSSL Support for Android}.
+ To include external libraries for multiple ABIs, where each ABIs has its own
+ directory, use the following:
+
+ \badcode
+ for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so
+ \endcode
+
+ Otherwise, if the ABI is included in the library name, use the following:
+
+ \badcode
+ for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so
+ \endcode
+
\target ANDROID_EXTRA_PLUGINS
\section1 ANDROID_EXTRA_PLUGINS
@@ -1109,7 +1118,7 @@
\note This variable applies only to Android targets.
Specifies the target Android API level for the project. By default, this
- variable is set to API level 28.
+ variable is set to API level 31.
\target ANDROID_VERSION_CODE
\section1 ANDROID_VERSION_CODE
@@ -1133,6 +1142,8 @@
Specifies project configuration and compiler options. The values are
recognized internally by qmake and have special meaning.
+ \note The values are case-sensitive.
+
The following \c CONFIG values control compiler and linker flags:
\table
@@ -1186,6 +1197,11 @@
\row \li c11 \li C11 support is enabled. This option has no effect if
the compiler does not support C11, or can't select the C standard.
By default, the compiler default is used.
+ \row \li c17 \li C17, also known as C18, support is enabled.
+ This option has no effect if the compiler does not support C17, or
+ can't select the C standard.
+ By default, the compiler default is used.
+ \row \li c18 \li This is an alias for the \c{c17} value.
\row \li strict_c \li Disables support for C compiler extensions.
By default, they are enabled.
\row \li c++11 \li C++11 support is enabled. This option has no effect if
@@ -1201,6 +1217,9 @@
\row \li c++2a \li C++2a support is enabled. This option has no effect if
the compiler does not support C++2a, or can't select the C++ standard.
By default, support is disabled.
+ \row \li c++2b \li c++2b support is enabled. This option has no effect if
+ the compiler does not support c++2b, or can't select the C++ standard.
+ By default, support is disabled.
\row \li c++latest \li Support for the latest C++ language standard is
enabled that is supported by the compiler. By default, this option is
disabled.
@@ -1232,6 +1251,9 @@
subproject.
\row \li no_include_pwd \li Do not add the current directory to
INCLUDEPATHS.
+ \row \li compile_included_sources \li By default, qmake does not
+ compile source files that are included in other source files. This
+ option disables this behavior.
\endtable
When you use the \c debug_and_release option (which is the default under
@@ -1823,9 +1845,33 @@
\target QML_IMPORT_PATH
\section1 QML_IMPORT_PATH
- This variable is only used by \l{Qt Creator Manual}{Qt Creator}.
+ This variable is only used by \l{Qt Creator Manual}{Qt Creator}. If you have
+ an extra module that is kept outside of your Qt installation, you can
+ specify its path here.
+
See \l{Qt Creator: Using QML Modules with Plugins} for details.
+ \target QMLPATHS
+ \section1 QMLPATHS
+
+ Expects a list of import paths that point to root directories of trees of
+ QML modules. For example, if you have a custom location for your QML
+ modules, you can specify it here.
+
+ \note The path entries for QMLPATHS point to root directories of trees of
+ QML modules. This is the concept of import paths the QML engine understands.
+ You can pass the same paths via the \c QML_IMPORT_PATH \e environment variable
+ to your QML application, but they are \e different from the expected contents
+ of the \l QML_IMPORT_PATH \e qmake variable. The latter expects paths to
+ \e individual modules to be processed by Qt Creator only.
+
+ \note The contents of QMLPATHS are \e not automatically passed to your
+ application. Rather, they are only used at build time. In particular,
+ qmlimportscanner uses them to find any QML modules it may need to mark as
+ imported by your application.
+
+ \sa QQmlEngine::addImportPath()
+
\target QMAKE_systemvariable
\section1 QMAKE
@@ -1872,6 +1918,33 @@
See \l{Platform Notes#Creating Frameworks}{Platform Notes} for
more information about creating library bundles.
+ A project can also use this variable to bundle application translation
+ files. The exact syntax depends on whether the project is using Xcode's
+ legacy build system or its new build system.
+
+ For example when the following project snippet is built using the
+ legacy build system:
+
+ \snippet code/doc_src_qmake-manual.pro 188
+
+ Xcode will ignore the original location of \c InfoPlist.strings
+ and the file will placed into the bundle \c Resources directory
+ under the provided \c translations_en.path path, so
+ \c Resources/en.lproj/InfoPlist.strings
+
+ With the new build system, the relative location of the file is
+ preserved, which means the file will incorrectly be placed under
+ \c Resources/en.lproj/en.lproj/InfoPlist.strings
+
+ To ensure correct file placement, the project can either move
+ the original file not to be in a sub-directory or it can choose
+ not to specify the \c translations_en.path variable.
+
+ \snippet code/doc_src_qmake-manual.pro 189
+
+ See \qtbug QTBUG-98417 for more details on how the Xcode build
+ system changed its behavior in bundling translation files.
+
\section1 QMAKE_BUNDLE_EXTENSION
\note This variable is used on \macos, iOS, tvOS, and watchOS only.
@@ -2613,7 +2686,8 @@
together. This variable is normally empty and therefore nothing is
executed.
- \note This variable takes no effect on Xcode projects.
+ \warning This variable is not supported when using the Xcode
+ generator and the new Xcode build system.
\section1 QMAKE_PROJECT_NAME
@@ -3345,7 +3419,7 @@
\li publisher
\li Display name of the publisher. Defaults to \c{Default publisher display name}.
\row
- \li publisher_id
+ \li publisherid
\li The publisher's distinguished name (default: \c{CN=MyCN}).
\row
\li target
@@ -4078,8 +4152,9 @@
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.
+
+ The \c filename argument may contain wildcards.
+ In that case, this function succeeds if any file matches.
For example:
\snippet code/doc_src_qmake-manual.pro 63