Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
Description
On Darwin platforms (macOSĀ and iOS), bundles are structured directories which are seen as first-class objects by the system. Qbs must have support for structuring the contents of bundles (similarly, Xcode has a specialized copy phase).
Proposed is a BundleResources sub-item that may be added within a Product item. A BundleResources item is essentially a glorified Group item with some properties that abstract away the necessary details for seamless bundle support.
For example, to copy some files to the Resources and SharedSupport directories of an application bundle:
import qbs CppApplication { name: "Widget Confabulator" files: ["*.h", "*.m"] BundleResources { destination: "Resources" files: ["*.icns", "special.plist"] } BundleResources { destination: "SharedSupport" files: ["templates/*"] excludeFiles: ["templates/schema.xsd"] } }
A partial implementation example (of the Qml portion, not including engine support) can be found here: https://codereview.qt-project.org/#change,70642