SubProject
Adds a project from a different file. More...
- List of all members, including inherited members
- SubProject is part of List of All Items.
Properties
- condition : bool
- filePath : path
- inheritProperties : bool
Detailed Description
A SubProject item is used to add a sub-project that is defined in a separate file. Additionally, properties of the sub-project can be set without modifying the separate project file.
The following example adds a sub-project defined in subdir/project.qbs
and overrides its name.
Project { SubProject { filePath: "subdir/project.qbs" Properties { name: "A sub-project" } } ... }
A typical use case for SubProject items is to conditionally include sub-projects. The following example pulls in the tests sub-project if and only if the withTests
property is true
.
Project { property bool withTests: false SubProject { filePath: "tests/tests.qbs" Properties { condition: parent.withTests } } ... }
If you do not need to set any properties on the sub-project, you can also use the Project.references property, the same way you would for a product.
Project { references: "subdir/project.qbs" }
is equivalent with
Project { SubProject { filePath: "subdir/project.qbs" } }
It is also possible to nest Project items directly in the same file.
Property Documentation
condition : bool |
Whether the sub-project is added. If false
, the sub-project is not included.
Setting this property has the same effect as setting the condition
property within a Properties item. If both this property and the condition
property within a Properties item are defined, the sub-project is included only if both properties evaluate to true
.
Default: true
filePath : path |
The file path of the project to add as a sub-project. If the top-level item in this file is a Product, it gets wrapped automatically in a new project.
Default: empty
inheritProperties : bool |
Determines whether the sub-project should inherit the properties of the surrounding Project. You can use this feature to share global settings between projects and sub-projects.
Default: true
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.