diff options
Diffstat (limited to 'examples')
28 files changed, 262 insertions, 32 deletions
diff --git a/examples/cocoa-application/CocoaApplication.qbs b/examples/cocoa-application/CocoaApplication.qbs index 2c26904a8..d0d2affc6 100644 --- a/examples/cocoa-application/CocoaApplication.qbs +++ b/examples/cocoa-application/CocoaApplication.qbs @@ -36,39 +36,18 @@ ** ****************************************************************************/ -import qbs 1.0 +import qbs +import qbs.Utilities -CppApplication { - Depends { condition: product.condition; name: "ib" } - condition: qbs.targetOS.contains("macos") - name: "Cocoa Application" +Project { + references: [ + "app.qbs" + ] - cpp.useObjcPrecompiledHeader: true - - cpp.frameworks: ["Cocoa"] - - Group { - prefix: "CocoaApplication/" - files: [ - "AppDelegate.h", - "AppDelegate.m", - "CocoaApplication-Info.plist", - "main.m" - ] - } - - Group { - name: "Supporting Files" - prefix: "CocoaApplication/en.lproj/" - files: [ - "Credits.rtf", - "InfoPlist.strings", - "MainMenu.xib" - ] - } - - Group { - files: ["CocoaApplication/CocoaApplication-Prefix.pch"] - fileTags: ["objc_pch_src"] + SubProject { + filePath: "dmg.qbs" + Properties { + condition: Utilities.versionCompare(qbs.version, "1.9") >= 0 + } } } diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/Contents.json b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..7cd4f8e12 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "icon_16x16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "icon_16x16@2x.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "icon_32x32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "icon_32x32@2x.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "icon_128x128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "icon_128x128@2x.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "icon_256x256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "icon_256x256@2x.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "icon_512x512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "icon_512x512@2x.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +}
\ No newline at end of file diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_128x128.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_128x128.png Binary files differnew file mode 100644 index 000000000..6c556a835 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_128x128.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_128x128@2x.png Binary files differnew file mode 100644 index 000000000..4442d3eb2 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_128x128@2x.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_16x16.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_16x16.png Binary files differnew file mode 100644 index 000000000..2adcdb5f4 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_16x16.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_16x16@2x.png Binary files differnew file mode 100644 index 000000000..2a7030fd7 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_16x16@2x.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_256x256.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_256x256.png Binary files differnew file mode 100644 index 000000000..4442d3eb2 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_256x256.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_256x256@2x.png Binary files differnew file mode 100644 index 000000000..069b5c050 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_256x256@2x.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_32x32.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_32x32.png Binary files differnew file mode 100644 index 000000000..2a7030fd7 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_32x32.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_32x32@2x.png Binary files differnew file mode 100644 index 000000000..c5e458164 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_32x32@2x.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_512x512.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_512x512.png Binary files differnew file mode 100644 index 000000000..069b5c050 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_512x512.png diff --git a/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_512x512@2x.png Binary files differnew file mode 100644 index 000000000..0b810615e --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/CocoaApplication.xcassets/AppIcon.appiconset/icon_512x512@2x.png diff --git a/examples/cocoa-application/CocoaApplication/background.png b/examples/cocoa-application/CocoaApplication/background.png Binary files differnew file mode 100644 index 000000000..938dc0c04 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/background.png diff --git a/examples/cocoa-application/CocoaApplication/background@2x.png b/examples/cocoa-application/CocoaApplication/background@2x.png Binary files differnew file mode 100644 index 000000000..099e9d830 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/background@2x.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_128x128.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_128x128.png Binary files differnew file mode 100644 index 000000000..6c556a835 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_128x128.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_128x128@2x.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_128x128@2x.png Binary files differnew file mode 100644 index 000000000..4442d3eb2 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_128x128@2x.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_16x16.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_16x16.png Binary files differnew file mode 100644 index 000000000..2adcdb5f4 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_16x16.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_16x16@2x.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_16x16@2x.png Binary files differnew file mode 100644 index 000000000..2a7030fd7 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_16x16@2x.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_256x256.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_256x256.png Binary files differnew file mode 100644 index 000000000..4442d3eb2 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_256x256.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_256x256@2x.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_256x256@2x.png Binary files differnew file mode 100644 index 000000000..069b5c050 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_256x256@2x.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_32x32.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_32x32.png Binary files differnew file mode 100644 index 000000000..2a7030fd7 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_32x32.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_32x32@2x.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_32x32@2x.png Binary files differnew file mode 100644 index 000000000..c5e458164 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_32x32@2x.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_512x512.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_512x512.png Binary files differnew file mode 100644 index 000000000..069b5c050 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_512x512.png diff --git a/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_512x512@2x.png b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_512x512@2x.png Binary files differnew file mode 100644 index 000000000..0b810615e --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/dmg.iconset/icon_512x512@2x.png diff --git a/examples/cocoa-application/CocoaApplication/en.lproj/LICENSE b/examples/cocoa-application/CocoaApplication/en.lproj/LICENSE new file mode 100644 index 000000000..44650fe73 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/en.lproj/LICENSE @@ -0,0 +1,27 @@ +Copyright (C) 2017 The Qt Company Ltd. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of The Qt Company Ltd and its Subsidiary(-ies) nor the names + of its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/examples/cocoa-application/CocoaApplication/en_US.lproj b/examples/cocoa-application/CocoaApplication/en_US.lproj new file mode 120000 index 000000000..545e7ac76 --- /dev/null +++ b/examples/cocoa-application/CocoaApplication/en_US.lproj @@ -0,0 +1 @@ +en.lproj
\ No newline at end of file diff --git a/examples/cocoa-application/app.qbs b/examples/cocoa-application/app.qbs new file mode 100644 index 000000000..366d49263 --- /dev/null +++ b/examples/cocoa-application/app.qbs @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing +** +** This file is part of the examples of Qbs. +** +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +****************************************************************************/ + +import qbs + +CppApplication { + Depends { condition: product.condition; name: "ib" } + condition: qbs.targetOS.contains("macos") + name: "Cocoa Application" + + cpp.useObjcPrecompiledHeader: true + + cpp.frameworks: ["Cocoa"] + + Group { + prefix: "CocoaApplication/" + files: [ + "AppDelegate.h", + "AppDelegate.m", + "CocoaApplication-Info.plist", + "CocoaApplication.xcassets", + "main.m" + ] + } + + Group { + name: "Supporting Files" + prefix: "CocoaApplication/en.lproj/" + files: [ + "Credits.rtf", + "InfoPlist.strings", + "MainMenu.xib" + ] + } + + Group { + files: ["CocoaApplication/CocoaApplication-Prefix.pch"] + fileTags: ["objc_pch_src"] + } + + Group { + fileTagsFilter: ["bundle.content"] + qbs.install: true + qbs.installDir: "Applications" + qbs.installSourceBase: product.destinationDirectory + } + + ib.appIconName: "AppIcon" +} diff --git a/examples/cocoa-application/dmg.qbs b/examples/cocoa-application/dmg.qbs new file mode 100644 index 000000000..e8e0a923a --- /dev/null +++ b/examples/cocoa-application/dmg.qbs @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing +** +** This file is part of the examples of Qbs. +** +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +****************************************************************************/ + +import qbs + +AppleApplicationDiskImage { + condition: qbs.targetOS.contains("macos") + name: "Cocoa Application DMG" + targetName: "cocoa-application-" + version + version: "1.0" + + Depends { name: "Cocoa Application" } + Depends { name: "ib" } + + files: [ + "CocoaApplication/dmg.iconset", + "CocoaApplication/en_US.lproj/LICENSE", + ] + + // set to false to use a solid-color background (see dmg.backgroundColor below) + property bool useImageBackground: true + Group { + condition: useImageBackground + files: ["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 +} |