Fix ##1067: Add a simple CrossProject mechanism

`private[cross]`