/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** 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 The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/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: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \externalpage http://wiki.qt.io/Building_Qt_5_from_Git
    \title Building Qt 5 From Git
*/

/*!
    \externalpage http://qt-project.org/contribute
    \title Contributing to Qt
*/

/*!
    \externalpage http://www.chromium.org/Home
    \title The Chromium Projects
*/

/*!
    \externalpage http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12
    \title Xcode
*/

/*!
    \externalpage https://developer.apple.com/programs/
    \title Apple Developer Program
*/

/*!
    \externalpage http://help.apple.com/xcode/mac/8.0/#/dev10510b1f7
    \title Create asset catalogs and sets
*/

/*!
    \externalpage https://developer.apple.com/library/content/qa/qa1686/_index.html
    \title App Icons on iPhone, iPad and Apple Watch
*/

/*!
    \externalpage https://spdx.org/licenses/BSD-3-Clause.html
    \title BSD 3-Clause "New" or "Revised" License
*/

/*!
    \externalpage http://qt.io/licensing/
    \title Qt Licensing Overview
*/

/*!
    \externalpage http://www.gnu.org/licenses/gpl-2.0.html
    \title GNU General Public License, version 2
*/

/*!
    \externalpage http://www.gnu.org/licenses/gpl-3.0.html
    \title GNU General Public License, version 3
*/

/*!
    \externalpage http://www.gnu.org/licenses/lgpl-2.1.html
    \title GNU Lesser General Public License, version 2.1
*/

/*!
    \externalpage http://www.gnu.org/licenses/lgpl-3.0.html
    \title GNU Lesser General Public License, version 3
*/


/*!
    \externalpage https://spdx.org/licenses/BSD-3-Clause.html
    \title BSD 3-clause "New" or "Revised" License
*/

/*!
    \externalpage http://qt-project.org/faq/answer/how_to_compress_data_with_qt
    \title How to compress data with Qt?
*/

/*!
    \externalpage https://play.google.com/store/apps/details?id=com.digia.Qt5Intro
    \title Google Play: Introduction to Qt 5
*/

/*!
    \externalpage https://play.google.com/store/apps/details?id=com.digia.Qt5Everywhere
    \title Google Play: Qt 5 Everywhere
*/

/*!
    \externalpage https://itunes.apple.com/us/app/subattack/id659283830
    \title iTunes: SubAttack
*/

/*!
    \externalpage https://itunes.apple.com/us/app/qtquicksand/id666273528
    \title iTunes: QtQuicksand
*/

/*!
   \externalpage http://www.windowsphone.com/en-us/store/app/quickforecast/35572287-c6d6-4d5c-9799-46555f7fc459
   \title Windows Store: QuickForecast
*/

/*!
    \externalpage https://itunes.apple.com/us/app/quick-forecast/id736658981
    \title iTunes: Quick Forecast
*/

/*!
    \externalpage https://play.google.com/store/apps/details?id=org.qtproject.quickforecast
    \title Google Play: Quick Forecast
*/

/*!
    \externalpage https://itunes.apple.com/us/app/qt-hangman/id762381104
    \title iTunes: Qt Hangman
*/

/*!
    \externalpage https://play.google.com/store/apps/details?id=com.digia.QtHangman
    \title Google Play: Qt Hangman
*/
/*!
    \externalpage https://play.google.com/store/apps/details?id=com.digia.Flyingbus
    \title Google Play: Flyingbus
*/

/*!
    \externalpage https://itunes.apple.com/us/app/flyingbus/id762515926?mt=8
    \title iTunes: Flyingbus
*/

/*!
    \externalpage http://www.gnu.org/copyleft/fdl.html
    \title GNU Free Documentation License
*/

/*!
    \externalpage http://doc.qt.io/qbs/index.html
    \title Qbs Manual
*/

/*!
    \externalpage https://play.google.com/apps/publish
    \title Google Play Developer Console
*/

/*!
    \externalpage http://www.qt.io/qt-features/
    \title Qt Enterprise
*/
/*!
    \externalpage https://sailfishos.org/
    \title Sailfish OS
*/
/*!
    \externalpage https://www.tizen.org/
    \title Tizen
*/
/*!
    \externalpage http://developer.android.com/guide/topics/manifest/manifest-intro.html
    \title Android: App Manifest
*/
/*!
    \externalpage https://qtcloudservices.com/
    \title Qt Cloud Services
*/
/*!
    \externalpage http://doc.qt.io/qtcreator/creator-configuring.html
    \title Configuring Qt Creator
*/

/*!
    \externalpage http://doc.qt.io/qtcreator/creator-deploying-android.html#specifying-settings-for-packages
    \title Android APK
*/

/*!
    \externalpage http://doc.qt.io/qtcreator/creator-build-example-application.html
    \title Building and Running Example
*/
/*!
    \externalpage http://doc.qt.io/qtcreator/qt-creator-accelbubble-example.html
    \title Creating a Mobile Application
*/
/*!
    \externalpage http://wiki.qt.io/Qt5ForAndroidBuilding
    \title Building Qt 5 for Android
*/

/*!
    \externalpage http://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options
    \title OpenSSL Configure Options
*/

/*!
    \externalpage https://codereview.qt-project.org/#/admin/projects/qt/qthttp
    \title Qt HTTP
*/

/*!
    \externalpage https://codereview.qt-project.org/#/admin/projects/qt/qtftp
    \title Qt FTP
*/

/*!
    \externalpage http://doc.qt.io/QtQuickCompiler
    \title Qt Quick Compiler
*/

/*!
    \externalpage http://doc.qt.io/QtForDeviceCreation
    \title Qt for Device Creation
*/

/*!
    \externalpage http://doc.qt.io/QtQuick2DRenderer
    \title Qt Quick 2D Renderer
*/

/*!
    \externalpage http://doc.qt.io/QtSupportedPlatforms/index.html
    \title Officially Supported Platforms
*/

/*!
    \externalpage http://www.bluetooth.org
    \title Bluetooth SIG
*/

/*!
    \externalpage https://account.qt.io/
    \title Qt Account
*/

/*!
    \externalpage http://doc.qt.io/qtvstools/index.html
    \title Qt VS Tools
*/
/*!
    \externalpage http://doc.qt.io/emulator/index.html
    \title Emulator
*/
/*!
    \externalpage http://doc.qt.io/archives/qt-5.3/qtwebkit-index.html
    \title Qt WebKit
*/
/*!
    \externalpage http://doc.qt.io/archives/qt-5.3/qtwebkitwidgets-index.html
    \title Qt WebKit Widgets
*/
/*!
    \externalpage http://www.opengl.org/wiki/Vertex_Rendering#Instancing
    \title OpenGL Instanced Rendering
*/
/*!
    \externalpage http://www.opengl.org/wiki/Vertex_Rendering#Primitive_Restart
    \title OpenGL Primitive Restart
*/
/*!
    \externalpage http://www.khronos.org/gltf/
    \title OpenGL glTF
*/
/*!
    \externalpage http://doc.qt.io/archives/qt-5.3/enginio-index.html
    \title Enginio Manual
*/
/*!
    \externalpage http://doc.qt.io/QtForDeviceCreation/qtb2-index.html
    \title Boot2Qt
*/
/*!
    \externalpage https://doc.qt.io/QtForDeviceCreation/qt-configuration-tool.html
    \title Qt Configuration Tool
*/
/*!
    \externalpage https://doc.qt.io/QtForDeviceCreation/qtdc-supported-platforms.html
    \title Qt for Device Creation: Supported Target Devices and Development Hosts
*/

/*!
    \externalpage https://qmlbook.github.io/
    \title QML Book
*/

/*!
    \externalpage https://doc.qt.io/qt-5/vxworks.html
    \title ext: Qt for VxWorks
*/

/*
    This prevents autolinking of each occurrence of 'macOS'
*/
/*!
    \externalpage nolink
    \title macOS
    \internal
*/
/*!
    \externalpage https://wiki.openssl.org/images/7/70/Setenv-android.sh
    \title OpenSSL: Build Setup Script
*/

/*!
    \externalpage http://doc.qt.io/QtForAutomation/index.html
    \title Qt for Automation
*/

/*!
    \externalpage https://doc.qt.io/QtAutomotiveSuite/index.html
    \title Qt Automotive Suite
*/

/*!
    \externalpage https://doc.qt.io/QtQuickEnterpriseControls/
    \title Qt Quick Enterprise Controls
*/

/*!
    \externalpage https://wiki.qt.io/Qt_for_WebAssembly
    \title Qt for WebAssembly wiki
*/

/*!
    \externalpage http://blog.qt.io/blog/2018/04/23/beta-qt-webassembly-technology-preview/
    \title Qt for WebAssembly Technology Preview
*/

/*!
    \externalpage http://blog.qt.io/blog/2018/05/22/qt-for-webassembly/
    \title Qt and WebAssembly
*/

/*!
    \externalpage http://blog.qt.io/blog/2018/11/19/getting-started-qt-webassembly/
    \title Getting Started with Qt for WebAssembly
*/

/*!
    \externalpage http://blog.qt.io/blog/2018/06/12/remote-uis-webgl-webassembly/
    \title Remote UIs with WebGL and WebAssembly
*/

/*!
    \externalpage https://webassembly.org
    \title WebAssembly Resource site
*/

/*!
    \externalpage https://www.freedesktop.org/wiki/Software/libinput
    \title libinput
*/

/*!
    \externalpage https://www.yoctoproject.org
    \title Yocto Project
*/

/*!
    \externalpage http://lct.sourceforge.net/
    \title Linux Console Tools (LCT)
*/

/*!
    \externalpage https://www.x.org/
    \title X.org
*/
