Boost logo

Boost-Build :

Subject: Re: [Boost-build] Overriding the type of a source file?
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2015-03-12 15:44:02


On Thu, Mar 12, 2015 at 2:29 PM, Vladimir Prus <vladimir.prus_at_[hidden]>
wrote:

> On 03/12/2015 07:58 AM, Rene Rivera wrote:
>
>> On Wed, Mar 11, 2015 at 9:46 PM, Rene Rivera <grafikrobot_at_[hidden]
>> <mailto:grafikrobot_at_[hidden]>> wrote:
>>
>> On Wed, Mar 11, 2015 at 9:39 PM, Steven Watanabe <
>> watanabesj_at_[hidden] <mailto:watanabesj_at_[hidden]>> wrote:
>>
>> AMDG
>>
>> On 03/11/2015 08:23 PM, Rene Rivera wrote:
>> > Before I go and hack BB to support this I'm wondering if
>> someone knows if
>> > it's already possible.. I'm doing some BB files for an external
>> library
>> > (Cinder) and it has one unfortunate aspect that I need to deal
>> with. It has
>> > *.cpp files that are actually Objective C++ files on OSX, and
>> plain C++ on
>> > other platforms. So the basic question is:
>> >
>> > Is there an existing way to indicate the source type
>> irrespective of the
>> > file extension?
>> >
>>
>> Does cast.jam do what you want?
>>
>>
>> It certainly does look like it does what I want.. Will test it
>> shortly. Thanks for pointing me to it.
>>
>>
>> Well.. It barely does what it says. It does change the type but it also
>> seems to ignore any requirements.
>>
>
> Why would you want requirements on a source file, as opposed to on
> containing metatarget. E.g.:
>
> exe a : [ cast objective-c : a.cpp ] : your-requirements-or-conditionals
> ;
>

Because normally I would do this:

  exe a : a.cpp **1** : **2** <target-os>darwin:<source>b_really_mm.cpp
<target-os>windows:<source>c.cpp ;

Where **1** and **2** are a long list of other source files / dependencies,
and complicated requirements that would almost entirely need to be
replicated for each different metatarget variant. And I hate replication.
Like I said.. It's not impossible to do it.. Just painful.

And for context.. Attached is the current build file I'm creating where
this came up.

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail




Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk