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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              buddenha Oswald Buddenhagen
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes