summaryrefslogtreecommitdiff
path: root/examples/install-bundle/install-bundle.qbs
blob: cedfc21058cb5a0520f54b316bdf0fc58cbd4a9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import qbs.FileInfo

Project {
    CppApplication {
        Depends { name: "bundle" }
        Depends { name: "windowutils" }
        Depends { name: "ib"; condition: qbs.targetOS.contains("darwin") }
        Depends { name: "Qt"; submodules: ["core", "gui", "widgets"] }
        condition: qbs.targetOS.contains("macos")
                   || qbs.targetOS.contains("linux")
                   || qbs.targetOS.contains("windows")

        name: "window"
        property bool isBundle: bundle.isBundle
        targetName: isBundle ? "Window" : "window"
        files: [
            "main.cpp",
            "assetcatalog1.xcassets",
            "assetcatalog2.xcassets",
            "white.iconset",
            "MainMenu.xib",
            "Storyboard.storyboard"
        ]

        cpp.minimumMacosVersion: "10.10"

        Group {
            fileTagsFilter: qbs.targetOS.contains("darwin") && isBundle ? ["bundle.content"] : ["application"]
            qbs.install: true
            qbs.installDir: isBundle ? "Applications" : (qbs.targetOS.contains("windows") ? "" : "bin")
            qbs.installSourceBase: product.buildDirectory
        }
    }

    DynamicLibrary {
        Depends { name: "bundle" }
        Depends { name: "cpp" }

        name: "windowutils"
        property bool isBundle: qbs.targetOS.contains("darwin") && bundle.isBundle
        targetName: isBundle ? "WindowUtils" : "windowutils"
        files: ["coreutils.cpp", "coreutils.h"]

        Group {
            fileTagsFilter: isBundle ? ["bundle.content"] : ["dynamiclibrary", "dynamiclibrary_symlink", "dynamiclibrary_import"]
            qbs.install: true
            qbs.installDir: isBundle ? "Library/Frameworks" : (qbs.targetOS.contains("windows") ? "" : "lib")
            qbs.installSourceBase: product.buildDirectory
        }
    }
}