summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-05-31 08:12:46 +0200
committerLiang Qi <liang.qi@qt.io>2017-05-31 08:12:46 +0200
commitff6c41a76ea132616b37a262f999a9bed9598d8d (patch)
tree6fdb2eab272c6ce394e6463f58384493fcac2a82
parent6eb951d6182c30d3330006e584d55bf1fe96896f (diff)
parentc5028bdacabf02c2d2e06872e6fdbfa8f86f8401 (diff)
downloadqtdoc-ff6c41a76ea132616b37a262f999a9bed9598d8d.tar.gz
Merge remote-tracking branch 'origin/5.9.0' into 5.9
Change-Id: I015157589270f4e851f8080274e9304f193bd8e4
-rw-r--r--dist/changes-5.9.030
-rw-r--r--doc/src/platforms/android.qdoc97
-rw-r--r--doc/src/platforms/supported-platforms.qdocinc4
-rw-r--r--doc/src/qmlapp/deployment.qdoc81
-rw-r--r--doc/src/whatsnew/whatsnew56.qdoc2
-rw-r--r--doc/src/whatsnew/whatsnew59.qdoc2
6 files changed, 177 insertions, 39 deletions
diff --git a/dist/changes-5.9.0 b/dist/changes-5.9.0
new file mode 100644
index 00000000..e48a9b2a
--- /dev/null
+++ b/dist/changes-5.9.0
@@ -0,0 +1,30 @@
+Qt 5.9 introduces many new features and improvements as well as bugfixes
+over the 5.8.x series. For more details, refer to the documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/
+
+The Qt version 5.9 series is binary compatible with the 5.8.x series.
+Applications compiled for 5.8 will continue to run with 5.9.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+ - Updated information on supported platforms.
+ - Updated Qt Platform Abstraction (QPA) documentation.
+ - Updated Qt for embedded Linux documentation.
+ - Updated Windows deployment tool (windeployqt) documentation.
+ - Fixed the information on ANGLE libraries in 'Qt for Windows
+ Requirements'.
+ - Updated the example code for connecting overloaded signals/slots.
+ - Raised the recommended version of CMake to use with Qt to 3.1.0.
+ - Fixed several instances of missing, incorrect, or obsolete information.
diff --git a/doc/src/platforms/android.qdoc b/doc/src/platforms/android.qdoc
index 23a2d9d5..ce1c4abb 100644
--- a/doc/src/platforms/android.qdoc
+++ b/doc/src/platforms/android.qdoc
@@ -140,40 +140,71 @@ The following topics provide more details about how to use Qt for Android:
\title Getting Started with Qt for Android
\brief Provides instructions to install and configure your development environment.
-\section1 Requirements
+\section1 Installing the Prerequisites
+
In order to use \l{Qt for Android}, you need the following:
\list
\li \l{http://developer.android.com/sdk/index.html}{The Android SDK Tools}
+ \note If your Qt version is earlier than v5.9, use the SDK tools package
+ v25.2.5 or earlier.
\li \l{http://developer.android.com/tools/sdk/ndk/index.html}{The Android NDK}
+ (recommended version 10e)
\li \l{http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html}{Java SE Development Kit} (JDK) v6 or later. You can also use \l{http://openjdk.java.net}{OpenJDK} on Linux.
-\li On Windows, you need the following additional installations:
- \list
- \li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} v1.8 or later
- \li Android Debug Bridge (ADB) driver on the Windows platform to enable USB
- debugging. The default USB driver on Windows does not allow debugging.
- For details about how to get the USB driver, see
- \l{http://developer.android.com/sdk/win-usb.html}.
-
- After installing the driver, try running a few basic
- \l{http://developer.android.com/tools/help/adb.html}{adb} commands and
- check whether your device responds to it.
- \endlist
+\li \l{http://ant.apache.org/bindownload.cgi}{Apache Ant} v1.8 or later
\endlist
-After installing these tools, update the Android SDK to get the API
-and tools packages required for development. You can update the SDK using the
-\l{http://developer.android.com/tools/help/android.html}{android} tool that
-comes with the SDK Tools package. For example, on Ubuntu the following command
-starts the \l{http://developer.android.com/sdk/installing/adding-packages.html}
-{Android SDK Manager}, which enables you to select the packages you want
-to install:
+After installing these tools, update the Android SDK by installing the API
+and build tools packages required for development. You can install these packages
+either through Android Studio or using the command line tools package you installed
+earlier. For more details, refer to the
+\l{https://developer.android.com/studio/intro/update.html}{Android Studio}
+documentation.
+
+\section2 Updating the Android SDK
+
+The command line tools provided by the Android SDK Tools package also enables updating
+the SDK, but without a GUI. For example, the following command on Ubuntu updates the SDK
+by installing the latest \c build-tools, \c platform-tools, \c emulator, and \c patcher
+packages:
\badcode
./android update sdk
\endcode
-\note If you're developing on a 64-bit Linux machine, you must install the
+To install a specific package, use \c sdkmanager from
+\c{<ANDROID_SDK_ROOT>/tools/bin}. For example, the following command installs the
+\c android-10 platforms package on Ubuntu:
+
+\badcode
+./sdkmanager "platforms;android-10"
+\endcode
+
+For more details, refer to the
+\l{https://developer.android.com/studio/command-line/sdkmanager.html}{sdkmanager}
+documentation.
+
+\section1 Configuring Your Development Host
+
+\section2 Windows
+
+The default USB driver on Windows does not allow debugging using
+Android Debug Bridge (ADB) tool. You must install the additional USB driver
+provided by the \e extras Android SDK package. Use the following command from
+the Windows command prompt to install the extras package:
+
+\badcode
+sdkmanager.bat "extras;google;usb_driver"
+\endcode
+
+After the package installation is complete, install the driver from
+\c{<ANDROID_SDK_ROOT>/extras/google/usb_driver}. Try running a few basic
+\l{http://developer.android.com/tools/help/adb.html}{adb} commands now
+and check whether your Android device responds to it.
+
+\section2 64-bit Linux
+
+If you're developing on a 64-bit Linux machine, you must install the
following dependencies in order to run 32-bit executables like \c adb, which
allows Qt Creator to find devices to deploy to:
@@ -187,26 +218,18 @@ To run the emulator, the following dependencies are also necessary:
sudo apt-get install libsdl1.2debian:i386
\endcode
-\section1 Installing Qt for Android
-
-The Qt 5 installers for different platforms are available from the \l Downloads
-page. Choose the one that is appropriate.
+\section2 Qt Creator IDE
-Once you have the installer, follow these steps:
+The Qt Creator IDE that came with the Qt 5 installation on your development
+host, must be configured to enable developing applications for Android. Launch
+Qt Creator and select \uicontrol Tools > \uicontrol Options >
+\uicontrol Devices > \uicontrol Android to add the Android NDK and SDK paths.
+For more details, refer to \l{Qt Creator: Connecting Android Devices}{Qt Creator Manual}.
-\list 1
- \li Run the installer to begin installing Qt 5 on your development platform.
- \li Select the components you need in the \uicontrol{Select Components}
- screen and click \uicontrol Next.
- \li After the installation is complete, the installer lets you open Qt Creator
- and the README. Select to open Qt Creator and click \uicontrol Finish.
- \li Select \uicontrol{Tools > Options > Android} in Qt Creator to add
- the Android NDK and SDK paths. For more details, see
- \l{Qt Creator: Connecting Android Devices}{Qt Creator Manual}.
-\endlist
+\section1 Testing Your Setup
Now you can test your development setup by running the examples that came
-with the Qt 5 package installed earlier. You can browse the examples in
+with the Qt 5 installation. You can browse these examples in
Qt Creator \uicontrol Welcome mode. Use the \c android filter in the search
field to list all the examples tested on Android.
diff --git a/doc/src/platforms/supported-platforms.qdocinc b/doc/src/platforms/supported-platforms.qdocinc
index 9cfd8649..d9e23c22 100644
--- a/doc/src/platforms/supported-platforms.qdocinc
+++ b/doc/src/platforms/supported-platforms.qdocinc
@@ -40,7 +40,7 @@ Mobile Platforms: \l {Qt for Android}{Android},
//! [all]
\section1 Qt 5.9
-\b {Supported until one year after release}
+\b {Long-term support (LTS)}: Supported until three years after release
//! [5.9] //! [latest]
@@ -273,7 +273,7 @@ Mobile Platforms: \l {Qt for Android}{Android},
\section1 Qt 5.6
//! [5.6]
- \b {Supported until Mar. 16, 2019}
+ \b {Long-term support (LTS)}: Supported until Mar. 16, 2019
\table 80%
\header \li Platform \li Compiler \li Notes
diff --git a/doc/src/qmlapp/deployment.qdoc b/doc/src/qmlapp/deployment.qdoc
index 7d560891..df2bb22c 100644
--- a/doc/src/qmlapp/deployment.qdoc
+++ b/doc/src/qmlapp/deployment.qdoc
@@ -61,6 +61,87 @@ the \c QT_INSTALL_QML environment points to the location of the libraries.
The \l{Downloads}{Qt Installers} install the QML libraries in
\e{<version>}\c{/}\e{<compiler>}\c{/qml} directory.
+\section1 QML Caching
+
+The QML runtime loads QML documents by parsing them and generating native code.
+Most of the time the document hasn't changed since the last time it was loaded.
+In order to speed up this loading process, the QML runtime maintains a cache
+file for each qml document. This cache file contains the native code and a
+binary representation of the QML document structure. In addition, when multiple
+applications use the same QML document, the memory needed for the code is
+shared between application processes. The cache files are loaded via the \c
+mmap() system call on POSIX compliant operating systems or \c
+CreateFileMapping() on Windows, resulting in significant memory savings.
+
+Each time you load a changed QML document, the cache is automatically
+re-created. Cache files are located in the same directory as the source code,
+if the directory is writable. Otherwise they will be placed in a sub-directory
+of QStandardPaths::CacheLocation with the name "qmlcache". The file extension
+is \c .qmlc for QML documents and \c .jsc for imported JavaScript modules.
+
+\section1 QML Caching for Deployment (Preview)
+
+The automatic caching of QML documents into cache files result in significantly
+faster load times of applications. However, the initial creation of cache files
+can still take time, especially when the application starts first. To avoid
+that initial step and provide faster start-up times from the very beginning,
+Qt's build system allows you to create these cache files in advance.
+
+If you would like to deploy your application with cache files generated ahead
+of time, you must satisfy four conditions in your \c .pro file:
+
+\list
+\li All QML documents (including JavaScript files) must be added to the
+\c QML_FILES variable.
+\li Your .pro file must use the \c load(qml_module) or \c load(qml_plugin)
+directive at the end, to activate the processing of \c QML_FILES and generation
+of install rules.
+\li The \c TARGETPATH variable must contain the import name of your QML
+module with forward slashes as separators.
+\li You must enable Ahead-of-Time caching using the \c CONFIG+=qmlcache directive.
+\endlist
+
+For example if you are developing the module \c MyCompany.CommonComponents,
+then your \c .pro file could look like this:
+
+\code
+TARGETPATH = MyCompany/CommonComponents
+QML_FILES = BlueButton.qml RedSlider.qml qmldir
+CONFIG += qmlcache
+load(qml_module)
+\endcode
+
+Similarly, if your module contains a C++ plugin then you use \c qml_plugin:
+
+\code
+TARGETPATH = MyCompany/CommonComponents
+QML_FILES = BlueButton.qml RedSlider.qml qmldir
+CONFIG += qmlcache
+SOURCES = plugin.cpp
+QT += quick
+load(qml_plugin)
+\endcode
+
+In these examples the QML module consisting of the QML documents, the \c qmldir
+file, and optionally the C++ plugin, will be installed into the
+MyCompany/CommonComponents sub-directory of \c $$[QT_INSTALL_QML]. By enabling
+the \c qmlcache configuration, the cache files will be created at build time
+and also installed into the same directory for deployment.
+
+\section2 Limitations
+
+Currently this feature has some limitations:
+
+\list
+\li Only QML and JavaScript documents that are part of a QML module can be
+compiled ahead of time.
+\li For cross-compilation, only the ARMv7 and ARMv8 target architectures are
+supported.
+\li For native compilation, Ahead-of-Time caching is limited to architectures
+where the QML runtime supports Just-in-Time compilation. This includes x86, x86-64,
+ARMv7, ARMv8 and MIPS32.
+\endlist
+
\section1 Prototyping with QML Scene
The Declarative UI package includes a QML runtime tool,
diff --git a/doc/src/whatsnew/whatsnew56.qdoc b/doc/src/whatsnew/whatsnew56.qdoc
index ed176b39..49453941 100644
--- a/doc/src/whatsnew/whatsnew56.qdoc
+++ b/doc/src/whatsnew/whatsnew56.qdoc
@@ -30,6 +30,8 @@
\title What's New in Qt 5.6
\brief Lists the new features in Qt 5.6.
+ Qt 5.6 is a long-term support (LTS) release.
+
\section1 New Modules
\list
diff --git a/doc/src/whatsnew/whatsnew59.qdoc b/doc/src/whatsnew/whatsnew59.qdoc
index a54cc705..29ccad60 100644
--- a/doc/src/whatsnew/whatsnew59.qdoc
+++ b/doc/src/whatsnew/whatsnew59.qdoc
@@ -30,6 +30,8 @@
\title What's New in Qt 5.9
\brief Lists the new features in Qt 5.9.
+ Qt 5.9 is a long-term support (LTS) release.
+
\section1 New Features in Qt 5.9
\section2 Qt Core Module