Skip to content

Change build_requires to private_build_requires when appropriate #1

Description

@BigRoy

Issue

Currently in all the packages we've defined build_requires for the build requirements, however in most scenarios this isn't actually correct as only the building of that package X itself requires those and not necessarily any packages that depend on X requires those too for building, as such those would be private_build_requires for X.

See: https://github.com/nerdvegas/rez/wiki/Building-Packages#build-time-dependencies

As example:

  • If package X requires cmake to run the build script then any dependent package does not need cmake, e.g. package Y might just build using make or sconstruct
  • If package X requires visualstudio to build but another does not then this could be private_build_requires.
  • Only whenever the dependent packages is required to build against it, e.g. when project Y headers link to project X headers then to build project Z that links Y it requires the headers of X too.
Z <---- Y <---- X
   links   links

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions