Skip to content

Change build_requires to private_build_requires when appropriate #1

@BigRoy

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions