Description
there are often aspects of a project that apply to all subprojects and consequently should be centralized. the explicit use of an "include file" is not very elegant. it would be better to have a project-wide configuration file instead.
examples for such settings are:
- module search paths
- the expected qbs version number. having this would allow getting rid of the 'import qbs.base 1.0' header from all projects.
- generalizing this concept into an auto-import statement would allow getting rid of the 'import "../QtcLibrary.qbs" as QtcLibrary' in the qt creator sources
- setting project-wide defaults for properties, effectively defining the default build configuration
- it may be possible to use this mechanism to instantiate singleton objects which provide additional functiality - see
QBS-262
to make this convenient, the config file(s) need to be found automatically (just like the project files).
i suggest to look for qbs.conf (or .qbs.conf) up the source hierarchy of each subproject. the config settings would cascade (i.e., all files up to the root directory would be found, and files "closer" to the subproject would take precedence).
in principle, it would be possible to make these settings a special section in regular project files, but mixing inheritance semantics into these does not sound right.