summaryrefslogtreecommitdiff
path: root/doc/targets/qbs-target-apple-common.qdocinc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/targets/qbs-target-apple-common.qdocinc')
-rw-r--r--doc/targets/qbs-target-apple-common.qdocinc108
1 files changed, 108 insertions, 0 deletions
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]
+
+*/