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

a more elegant way to build products conditionally

    XMLWordPrintable

    Details

      Description

      all Products should be imagined as dependencies of the containing Project(s). by adding a property which declares their "importance" (congruently to QBS-575 for Depends items), a Product's condition for building would become whether its mandatory dependencies are satisfied. this is much nicer than making bindings from the dependencies' present properties to the products' conditions.

      Product {
          // dependencies being unsatisfied breaks the build by default, ...
          importance: Recommended
          // ... but the product can be manually excluded
          //enabled: true // that's actually the default
      
          Depends {
              name: "OpenSSL"
              // absence prevents build
              importance: Mandatory
          }
          Depends {
              name: "Botan"
              // absence does not prevent build 
              importance: Suggested
          }
      }
      
      Product {
          // dependencies being unsatisfied excludes it from the build
          importance: Suggested
      
          Depends {
              name: "OpenSSL"
              // absence breaks build by default, but can be disabled
              importance: Recommended
          }
      }
      

        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