Uploaded image for project: 'Qbs ("Cubes")'
  1. Qbs ("Cubes")
  2. QBS-573

make it possible to nest Product items

    XMLWordPrintable

Details

    Description

      often it makes sense to split a large Product into multiple subproducts. this can happen by creating intermediate static libs ("convenience libraries") or source collections, similar to qmake's .pri files (see QBS-59).

      typically, it makes sense to have these subproducts inherit the properties (e.g., positionIndependentCode, optimization, defines, etc.) from the final product they are meant to be linked into.
      such inheritance is most naturally achieved by nesting the items.

      obviously, to achieve an actual modularization, one wouldn't directly nest the items in the same file, but instead have the Product item have a references property like the Project item does.

      given this abstract notion of nesting, qbs could actually decide itself whether it collects the sources of all subproducts or creates convenience libraries - the latter could be necessary to get around the limitation on the number of input files of some linkers. another interpretation of the same project could actually build shared libraries to save re-linking time - developer builds of qtwebkit do that. the only constraint is that the end result should be semantically the same as if it was all a single product.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              buddenha Oswald Buddenhagen
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: