diff options
author | Leena Miettinen <riitta-leena.miettinen@qt.io> | 2017-09-22 16:26:27 +0200 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-10-23 13:01:44 +0000 |
commit | 31fc946bb5ffecdd907f3303536c7abc9a4b4495 (patch) | |
tree | c0fc4373fbdfb1eb28e947571fa6db650dce69b2 | |
parent | f553dc266756c830923ba659d7ff88266d213c4c (diff) | |
download | qbs-31fc946bb5ffecdd907f3303536c7abc9a4b4495.tar.gz |
Document how to target common platforms
Task-number: QBS-1183
Change-Id: I53f1a8f44f5ea727c797a8cf3c37948ac7fc3fea
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | doc/doc.qbs | 1 | ||||
-rw-r--r-- | doc/images/qbs-dmg.png | bin | 0 -> 41386 bytes | |||
-rw-r--r-- | doc/qbs.qdoc | 1 | ||||
-rw-r--r-- | doc/reference/modules/dmg-module.qdoc | 22 | ||||
-rw-r--r-- | doc/targets/qbs-target-android.qdoc | 74 | ||||
-rw-r--r-- | doc/targets/qbs-target-apple-common.qdocinc | 108 | ||||
-rw-r--r-- | doc/targets/qbs-target-integrity.qdoc | 41 | ||||
-rw-r--r-- | doc/targets/qbs-target-ios.qdoc | 41 | ||||
-rw-r--r-- | doc/targets/qbs-target-linux.qdoc | 37 | ||||
-rw-r--r-- | doc/targets/qbs-target-macos.qdoc | 86 | ||||
-rw-r--r-- | doc/targets/qbs-target-platforms.qdoc | 48 | ||||
-rw-r--r-- | doc/targets/qbs-target-qnx.qdoc | 71 | ||||
-rw-r--r-- | doc/targets/qbs-target-tvos.qdoc | 41 | ||||
-rw-r--r-- | doc/targets/qbs-target-vxworks.qdoc | 41 | ||||
-rw-r--r-- | doc/targets/qbs-target-watchos.qdoc | 41 | ||||
-rw-r--r-- | doc/targets/qbs-target-windows.qdoc | 73 | ||||
-rw-r--r-- | qbs.pro | 1 |
17 files changed, 727 insertions, 0 deletions
diff --git a/doc/doc.qbs b/doc/doc.qbs index a02e8f098..61e205f57 100644 --- a/doc/doc.qbs +++ b/doc/doc.qbs @@ -21,6 +21,7 @@ Product { "reference/**/*", "templates/**/*", "images/**", + "targets/**", ] Group { name: "main qdocconf file" diff --git a/doc/images/qbs-dmg.png b/doc/images/qbs-dmg.png Binary files differnew file mode 100644 index 000000000..92ee1ada4 --- /dev/null +++ b/doc/images/qbs-dmg.png diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc index 9c6717b0c..4769933ff 100644 --- a/doc/qbs.qdoc +++ b/doc/qbs.qdoc @@ -63,6 +63,7 @@ \li \l{Building Applications} \li \l{Running Applications} \li \l{Installing Files} + \li \l{Target Platforms} \li \l{Using the Shell} \li \l{Generators} \li \l{Custom Modules and Items} diff --git a/doc/reference/modules/dmg-module.qdoc b/doc/reference/modules/dmg-module.qdoc index 6a11e6c4b..531cbec3d 100644 --- a/doc/reference/modules/dmg-module.qdoc +++ b/doc/reference/modules/dmg-module.qdoc @@ -39,6 +39,28 @@ This module is only available on Apple platforms. + \QBS enables you to build macOS disk images with custom backgrounds and icon + layouts. Most applications on macOS are installed via a \c .dmg file, which + is usually customized by using a custom image background and icon layout. + Unfortunately, it is challenging to construct such DMG files correctly, + because the layout relies on several undocumented proprietary file formats, + some of which date back to the Mac OS Classic days, and which are even + nested within one another. + + Most of the existing tools to create DMG files do so by using AppleScript to + manipulate the Finder graphically to generate the appropriate icon layout, + which is both unstable and incompatible with headless build servers, because + the necessary OS services to launch graphical applications may not be + running at all. Many projects create the primary \c .DS_Store + file manually, and commit the result to their source repository. This binary + blob is difficult to inspect and edit, and might not be backwards compatible + with older versions of the OS, depending on how it was generated. + + \QBS takes a different approach. It generates the necessary files + programmatically, in an entirely reproducible manner. There are no external + dependencies that need to be separately installed nor do any binary blobs + need to be committed to your source repository. + \section1 General Properties \table diff --git a/doc/targets/qbs-target-android.qdoc b/doc/targets/qbs-target-android.qdoc new file mode 100644 index 000000000..108bb7fd9 --- /dev/null +++ b/doc/targets/qbs-target-android.qdoc @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-android.html + \ingroup platforms + + \title Building for Android + \brief Platform notes for Android. + + To develop applications for Android, you need development tools provided by + the Android SDK from Google, and (optionally) a C/C++ toolchain provided by + the Android NDK. + + \note \QBS does not yet support the Kotlin programming language. + + \section1 Creating Android Application Packages + + On Android, applications are distributed in a specially structured type of + ZIP package called an APK. The following files should be created and bundled + into an APK: + + \list + \li Android assets. + \li Android resource files. + \li AndroidManifest.xml, which provides meta-information about your + application. + \li Compiled Java code, which serves as the entry point into your + application and that automatically executes the native code in your + application (if there is any). + \li Shared libraries containing native code. + \endlist + + You can use the \l{AndroidApk Item}{AndroidApk} item to build application + packages for Android. The properties of the AndroidApk item specify the + locations of the APK source files. + + The AndroidApk item has a dependency on the \l{Module Android.sdk} + {Android.sdk} module, which contains the properties and rules to create + Android application packages from source files. + + You can use the \l{DynamicLibrary Item}{DynamicLibrary} item to build native + Android libraries that are bundled into the APK. The \c qbs.architectures + property specifies the architectures to build for, with the default value + \c armv7a. + + The \l{DynamicLibrary Item}{DynamicLibrary} item has a dependency on the + \l{Module Android.ndk}{Android.ndk} module, and contains the properties + and rules to create native libraries. +*/ diff --git a/doc/targets/qbs-target-apple-common.qdocinc b/doc/targets/qbs-target-apple-common.qdocinc new file mode 100644 index 000000000..e403af8af --- /dev/null +++ b/doc/targets/qbs-target-apple-common.qdocinc @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + +//! [xcode] + + \note \QBS does not yet support the Swift programming language. + + The \l{Module xcode}{xcode} module contains properties and rules for + Xcode-based development. + +//! [xcode] + +//! [building user interfaces] + + \section1 Building User Interfaces + + The \l{Module ib}{ib} module contains properties and rules for building + Interface Builder documents, storyboards, asset catalogs, and icon sets. + +//! [building user interfaces] + +//! [creating app bundles] + + \section1 Creating App Bundles + + The \l{Module bundle}{bundle} module contains properties and rules for + building and working with Core Foundation bundles (application bundles and + frameworks) on Apple platforms. + + To build an application product as a bundle, or a dynamic or static library + product as a framework, add a dependency on the bundle module and set the + \c bundle.isBundle property to \c true: + + \code + Depends { name: "bundle" } + bundle.isBundle: true + \endcode + + \QBS also provides a number of powerful features to assist in creating the + Info.plist file that is part of your bundle. In fact, you do not need to + provide an Info.plist file at all. Instead, \QBS will generate one + automatically with the necessary keys, based on the values of module + properties set in the product. + + If you do specify an Info.plist file, \QBS may still inject additional keys + into the final output from other sources. One notable source of Info.plist + keys are \e partial Info.plist files which are generated as a result of + compiling other resources like asset catalogs, XIBs/NIBs, and storyboards. + + You may also use the \c bundle.infoPlist property to apply a set of + key-value pairs to be added to the final Info.plist. This can be used + instead of or in addition to an actual Info.plist file on disk. + +//! [creating app bundles] + +//! [architectures and variants] + + \section1 Multiple Architectures and Build Variants + + \QBS uses \l{Multiplexing}{multiplexing} to create multi-architecture + \e fat binaries and multi-variant frameworks, where a single framework can + contain both a release and debug build of a library on Apple platforms. + + You can set the \c qbs.architectures property to a list of CPU architectures + (such as \c x86, \c x86_64, \c armv7a, \c armv7k, and \c arm64), and the + \c qbs.buildVariants property to a list of build variants (such as \c debug + and \c release), and \QBS will transparently perform the necessary steps to + produce the various artifacts and combine them into a single bundle. + + Since the individual build configurations are completely independent of one + another, you can continue to use conditional branches in your projects such + as the following: + + \code + Properties { + condition: qbs.buildVariant === "release" + cpp.optimization: "small" + } + \endcode + +//! [architectures and variants] + +*/ diff --git a/doc/targets/qbs-target-integrity.qdoc b/doc/targets/qbs-target-integrity.qdoc new file mode 100644 index 000000000..52418a86c --- /dev/null +++ b/doc/targets/qbs-target-integrity.qdoc @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-integrity.html + \ingroup platforms + + \title Building for INTEGRITY + \brief Platform notes for INTEGRITY. + + The Green Hills INTEGRITY RTOS is not yet supported but is planned for a + future release. + + For more information about developing applications for the Green Hills + INTEGRITY RTOS, see the \l{https://www.ghs.com/products/rtos/integrity.html} + {INTEGRITY Product Documentation}. +*/ diff --git a/doc/targets/qbs-target-ios.qdoc b/doc/targets/qbs-target-ios.qdoc new file mode 100644 index 000000000..1b55a7d0e --- /dev/null +++ b/doc/targets/qbs-target-ios.qdoc @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-ios.html + \ingroup platforms + + \title Building for iOS + \brief Platform notes for iOS. + + This topic describes the \QBS features specific to iOS. + + \include qbs-target-apple-common.qdocinc xcode + \include qbs-target-apple-common.qdocinc building user interfaces + \include qbs-target-apple-common.qdocinc creating app bundles + \include qbs-target-apple-common.qdocinc architectures and variants +*/ diff --git a/doc/targets/qbs-target-linux.qdoc b/doc/targets/qbs-target-linux.qdoc new file mode 100644 index 000000000..8b15da444 --- /dev/null +++ b/doc/targets/qbs-target-linux.qdoc @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-linux.html + \ingroup platforms + + \title Building for Linux + \brief Platform notes for Linux. + + To develop applications for Linux, you need a GCC or Clang toolchain + installed on your host machine. +*/ diff --git a/doc/targets/qbs-target-macos.qdoc b/doc/targets/qbs-target-macos.qdoc new file mode 100644 index 000000000..c9b16d133 --- /dev/null +++ b/doc/targets/qbs-target-macos.qdoc @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-macos.html + \ingroup platforms + + \title Building for macOS + \brief Platform notes for macOS. + + This topic describes the \QBS features specific to macOS. + + \include qbs-target-apple-common.qdocinc xcode + \include qbs-target-apple-common.qdocinc building user interfaces + \include qbs-target-apple-common.qdocinc creating app bundles + \include qbs-target-apple-common.qdocinc architectures and variants + + \section1 Building macOS Disk Images + + The \l{AppleDiskImage Item}{AppleDiskImage} and + \l{AppleApplicationDiskImage Item}{AppleApplicationDiskImage} items have a + dependency on the \l{Module dmg}{dmg} module. The former represents a + product that is a basic Apple disk image, while the latter extends the + former to create a drag 'n' drop disk image installer used for installing + single application bundles. + + For example, the following code snippet creates a macOS disk image with a + custom background and icon layout: + + \code + AppleApplicationDiskImage { + targetName: "cocoa-application-" + version + version: "1.0" + + files: [ + "CocoaApplication/dmg.iconset", + "CocoaApplication/en_US.lproj/LICENSE", + // comment out the following line to use a solid-color background + // (see dmg.backgroundColor below) + "CocoaApplication/background*" + ] + + dmg.backgroundColor: "#41cd52" + dmg.badgeVolumeIcon: true + dmg.iconPositions: [ + {"x": 200, "y": 200, "path": "Cocoa Application.app"}, + {"x": 400, "y": 200, "path": "Applications"} + ] + dmg.windowX: 420 + dmg.windowY: 250 + dmg.windowWidth: 600 + dmg.windowHeight: 422 // this includes the macOS title bar height of 22 + dmg.iconSize: 64 + } + \endcode + + \image qbs-dmg.png + + In addition, \QBS supports multi-language license agreement prompts that + appear when the DMG is opened, with full Unicode and rich-text formatting + support. +*/ diff --git a/doc/targets/qbs-target-platforms.qdoc b/doc/targets/qbs-target-platforms.qdoc new file mode 100644 index 000000000..8f37537b4 --- /dev/null +++ b/doc/targets/qbs-target-platforms.qdoc @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \previouspage installing-files.html + \group platforms + \nextpage shell.html + + \title Target Platforms + + \QBS has built-in support for building applications for all major platforms. + Platform support is implemented as a set of \l{List of Modules}{modules} + that products depend on. The following topics describe the features specific + to a particular platform, point out things to look out for, and provide tips + for fully benefiting from the \QBS functions. + + In addition to the platforms explicitly listed below, \QBS should generally + work on other UNIX and Unix-like platforms but these are not regularly + tested or officially supported. + + \QBS recognizes the existence of at least AIX, HP-UX, Solaris, FreeBSD, + NetBSD, OpenBSD, GNU Hurd, and Haiku, but provides no explicit support + (except some minimal support for FreeBSD). +*/ diff --git a/doc/targets/qbs-target-qnx.qdoc b/doc/targets/qbs-target-qnx.qdoc new file mode 100644 index 000000000..94568e1c2 --- /dev/null +++ b/doc/targets/qbs-target-qnx.qdoc @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-qnx.html + \ingroup platforms + + \title Building for QNX + \brief Platform notes for QNX. + + To develop applications for the QNX Neutrino RTOS, you need to install the + QNX Software Development Platform (SDP) on a Linux, macOS, or Windows + development host. You can deploy the QNX Neutrino RTOS on a target system, + such as embedded hardware, a virtual machine, or a PC. + + \QBS automatically determines the location of the SDP base directory if the + SDP is installed at one of the standard locations, such as \c ~/qnx700, + \c /opt/qnx700, or \c C:\qnx700. In addition, \QBS uses the SDP and the + information it has about the host operating system to determine the location + of the QNX host and target directories. + + If the QNX SDP path could not be determined automatically, you must add a + dependency to the \l{Module qnx}{qnx} module to your application and set the + \c qnx.sdkDir property: + + \code + import qbs + + Application { + name: "helloworld" + files: "main.cpp" + Depends { name: "cpp" } + + Depends { name: "qnx" } + qnx.sdkDir: "/path/to/qnx700" + } + \endcode + + Alternatively, you can set the \c qnx.sdkDir property in a profile or on + the command line. + + \QBS supports QNX SDP version 6.5 and above. + + For more information about developing applications for the QNX Neutrino + RTOS, see the \l{http://www.qnx.com/developers/docs/} + {QNX Product Documentation}. +*/ diff --git a/doc/targets/qbs-target-tvos.qdoc b/doc/targets/qbs-target-tvos.qdoc new file mode 100644 index 000000000..76744637e --- /dev/null +++ b/doc/targets/qbs-target-tvos.qdoc @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-tvos.html + \ingroup platforms + + \title Building for tvOS + \brief Platform notes for tvOS. + + This topic describes the \QBS features specific to tvOS. + + \include qbs-target-apple-common.qdocinc xcode + \include qbs-target-apple-common.qdocinc building user interfaces + \include qbs-target-apple-common.qdocinc creating app bundles + \include qbs-target-apple-common.qdocinc architectures and variants +*/ diff --git a/doc/targets/qbs-target-vxworks.qdoc b/doc/targets/qbs-target-vxworks.qdoc new file mode 100644 index 000000000..100ecfcc3 --- /dev/null +++ b/doc/targets/qbs-target-vxworks.qdoc @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-vxworks.html + \ingroup platforms + + \title Building for VxWorks + \brief Platform notes for VxWorks. + + The Wind River VxWorks RTOS is not yet supported but is planned for a + future release. + + For more information about developing applications for the WindRiver VxWorks + RTOS, see the \l{https://www.windriver.com/products/vxworks/} + {VxWorks Product Documentation}. +*/ diff --git a/doc/targets/qbs-target-watchos.qdoc b/doc/targets/qbs-target-watchos.qdoc new file mode 100644 index 000000000..9afec3f46 --- /dev/null +++ b/doc/targets/qbs-target-watchos.qdoc @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-watchos.html + \ingroup platforms + + \title Building for watchOS + \brief Platform notes for watchOS. + + This topic describes the \QBS features specific to watchOS. + + \include qbs-target-apple-common.qdocinc xcode + \include qbs-target-apple-common.qdocinc building user interfaces + \include qbs-target-apple-common.qdocinc creating app bundles + \include qbs-target-apple-common.qdocinc architectures and variants +*/ diff --git a/doc/targets/qbs-target-windows.qdoc b/doc/targets/qbs-target-windows.qdoc new file mode 100644 index 000000000..4b9dcbf01 --- /dev/null +++ b/doc/targets/qbs-target-windows.qdoc @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ +/*! + \contentspage index.html + \page qbs-target-windows.html + \ingroup platforms + + \title Building for Windows + \brief Platform notes for Windows. + + This topic describes the \QBS features specific to Windows. + + \note \QBS does not currently support building applications using .NET + technologies and languages such as C#, F#, and Visual Basic. At this time we + recommend that you use MSBuild and the tools shipped with the various + implementations of the .NET platform. + + \section1 Universal Windows Platform + + Building applications for the Universal Windows Platform is currently only + partially supported. Notably, support for building APPX packages is missing, + but will be added in a future release. + + Relevant properties include: + + \list + \li \c cpp.windowsApiFamily + \li \c cpp.windowsApiAdditionalPartitions + \li \c requireAppContainer + \endlist + + See the \l{Module cpp}{cpp} module for more information. + + \note \QBS does not (and will not) support building Windows Runtime + applications targeting Windows 8 or Windows 8.1. We encourage users to + instead build desktop applications for older versions of Windows, or migrate + to Windows 10 and the Universal Windows Platform. + + \section1 Building Windows Installers + + The following modules contain properties and rules for building Windows + installers using a number of different technologies: + + \list + \li \l{Module innosetup}{innosetup} - Inno Setup + \li \l{Module nsis}{nsis} - Nullsoft Scriptable Install System + \li \l{Module wix}{wix} - Windows Installer XML Toolset + \endlist +*/ @@ -54,6 +54,7 @@ OTHER_FILES += \ doc/reference/items/language/*.qdoc \ doc/reference/jsextensions/*.qdoc \ doc/reference/modules/*.qdoc \ + doc/targets/*.qdoc* \ doc/qbs.qdocconf \ doc/config/qbs-project.qdocconf |