Boost logo

Boost-Build :

Subject: [Boost-build] Path feature
From: Deane Yang (deane_at_[hidden])
Date: 2016-02-21 15:30:16

I'm confused by the following:

Suppose I declare in a *.jam file a target as follows:

type.register CS : cs ;
type.register CSEXE : exe ;

generators.register-composing csc.make-exe : CS : CSEXE ;
feature reference : : free path dependency ;
flags csc.make-exe CSREFERENCE <reference> ;

actions make-exe bind CSREFERENCE
  csc -target:exe -r:$(CSREFERENCE) -out:$(<) $(>)

rule link
  DEPENDS $(<) : [ on $(<) return $(CS_REFERENCE) ] ;

and a Jamfile that has this:

csexe test : test.cs
              : <reference>../distribution/shared.dll

and I do "b2 test" inside that directory

Naively, I would think that the action would expand to

csc target:exe -r:../distribution/shared.dll ....

which is what I want.

However, what I am really getting, based on the error messages is:

csc target:exe

What am I doing wrong?

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at