/**************************************************************************** ** ** 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 list-of-convenience-items.html \nextpage AppleDiskImage \qmltype AppleApplicationDiskImage \since Qbs 1.9 \inherits AppleDiskImage \inqmlmodule QbsConvenienceItems \ingroup list-of-items \keyword QML.AppleApplicationDiskImage \brief Apple application drag 'n' drop disk image installer. An AppleApplicationDiskImage item is a \l{Product}{product} of the \l{Product::}{type} \c{"dmg.dmg"} that has a dependency on the \l{dmg} module. In addition, it has rules and properties specific to building drag 'n' drop disk image installers with an application bundle and symbolic link to the \c /Applications directory. Any artifacts of product dependencies that are tagged \c{"installable"} will be copied into the disk image, provided their file paths are relative to the path specified by the \l{sourceBase} property (that is, are located in that directory). Any artifacts tagged \c{"installable"} that are not relative to \l{sourceBase} will be ignored. Here is what the project file could look like for a simple DMG installer: \code AppleApplicationDiskImage { Depends { name: "myapp" } name: "My App" dmg.volumeName: name dmg.iconSize: 128 dmg.windowWidth: 640 dmg.windowHeight: 280 dmg.iconPositions: [ {"path": "Applications", "x": 128, "y": 128}, {"path": "My App.app", "x": 256, "y": 128} ] files: ["background.tiff", "volume-icon.icns"] Group { files: ["*.lproj/**"] // licenses fileTags: ["dmg.license.input"] } } \endcode For plain disk images whose contents are not a single application bundle, consider the base \l{AppleDiskImage} item instead. */ /*! \qmlproperty string AppleApplicationDiskImage::sourceBase The base directory from which artifacts installed into the disk image will be copied. This directory is always considered to be relative to \l{qbs::installRoot} {qbs.installRoot}. For example, if the application Example.app exists at \c{qbs.installRoot/Applications/Example.app}, and the value of this property is \c{"/Applications"}, the application will be located at\c{/Example.app} relative to the disk image root. Therefore, its full path when the disk image is mounted would be something like \c{/Volumes/Example-1.0/Example.app}. \defaultvalue \c{"/Applications"} */ /*! \qmlproperty stringList AppleApplicationDiskImage::symlinks List of symlinks to create in the disk image. This is specified as a list of strings, each string containing two file paths separated by a colon. The first path is the symlink target, and the second path is the name of the symlink relative to the root of the disk image. \defaultvalue \c{["/Applications:Applications"]} */