Skip to content

A program cannot ship another package's executable built for its target; the tool edge builds it for the host #711

Description

@speak-agent

Observed

A program's release layout may need to carry an executable that another package in the graph builds. GalTranslPP's GUI ships Updater.exe, which its workspace member Updater builds. The manifest cannot express "this dependency's executable, built for my target". The only edge that exposes another package's executable is a tool edge, used as tools = ["Updater"] with mcpp::dep_bin("gpp.updater", "Updater"), and that edge means a program for the build machine:

Request

A target artifact dependency: an edge that builds a dependency's bin target for the consumer's target and profile, and exposes the resulting path to the consumer's build program. Deploy and mcpp pack should also be able to use that path. Cargo's artifact dependencies (RFC 3028) are prior art.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions