Qbs

Blog Documentation Get Qbs Community
  • Qbs Manual
  • Installing Files
  • Qbs 3.1.1
  • Installing Files

    To install your project, specify the necessary information in the project file:

    Application {
        Group {
            name: "Icons"
            files: "*.png"
            qbs.install: true
            qbs.installDir: "share/icons/myproject"
        }
        Group {
            name: "Docs"
            fileTagsFilter: "generated_docs"
            qbs.install: true
            qbs.installDir: "share/man/man7"
        }
    }

    In this example, we want to install some .png files and documentation built by the project. The Application is installed automatically unless the install property is set to false.

    When building, Qbs installs artifacts into the default root folder, namely <build root>/install-root. The qbs.installPrefix and qbs.installDir properties are appended to the root folder.

    qbs build qbs.installPrefix:/usr

    In this example, the executable will be installed into the <build root>/install-root/usr/bin folder and the QML files will be installed into the <build root>/install-root/usr/share/myproject folder.

    To skip installation during the build, use the --no-install option.

    To override the default location, use the --install-root option of the qbs install command:

    qbs build --no-install qbs.installPrefix:/usr
    sudo qbs install --no-build --install-root /

    In this example, artifacts will be installed directly into the /usr folder. Since the qbs install command implies build, we use the --no-build parameter to ensure that we do not accidentally rebuild the project, thereby changing the artifacts' owner to root.

    Sometimes, it makes sense to install the application into a temporary root folder, keeping the same folder structure within that root folder as in the examples above; for instance, when building a Linux package such as deb or rmp. To install the application into the /tmp/myProjectRoot folder, use the following command:

    $ qbs install --install-root /tmp/myProjectRoot

    In this example, the executable will be installed into the /tmp/myProjectRoot/usr/bin folder and QML files will be installed into the /tmp/myProjectRoot/usr/share/myproject folder.

    To remove all files from the install root prior to installing, use the --clean-install-root parameter:

    qbs install --clean-install-root --install-root /tmp/myProjectRoot

    For more information about how the installation path is constructed, see Installation Properties.