Boost logo

Boost :

Subject: Re: [boost] [fusion] preprocess target pull request
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2014-01-25 08:39:33


On 23/01/14 03:38, Agustín K-ballo Bergé wrote:
> On 21/01/2014 07:56 p.m., Eric Niebler wrote:
>> https://github.com/boostorg/fusion/pull/1
>>
>> I'm not sure who gets notified of pull requests, if anybody. Sending
>> mail for good measure.
>>
>
> I've tried to regenerate preprocessed headers, but I get the following
> error:
>
> error: Unable to find file or target named
> error: '/boost/libs/wave/tool//wave'
> error: referred to from project at
> error: '.'
> error: could not resolve project reference '/boost/libs/wave/tool'
>
> From looking at the jam file, I'm not entirely sure how is it supposed
> to find Wave. When I build wave, for some reason it ends up at
> "/libs/dist/bin/wave.exe".

I have the same problem. Something wrong has apparently happened to the
build rules of wave.
It used to be in dist/bin/wave, not libs/dist/bin/wave.
Moreover it appears the RPATH is incorrect. I had to manually fix this.

In any case, to run wave in my project I personally use the following
CMake code:
<https://github.com/MetaScale/nt2/blob/master/cmake/nt2.preprocess.cmake>
Example of usage here:
<https://github.com/MetaScale/nt2/blob/master/modules/boost/simd/base/src/CMakeLists.txt>
It only works with GCC/Clang, but it's fully correct and has no
hardcoded stuff that needs to be changed by whoever needs to use it.

What it does is that it asks GCC what its system include directories are
and what its basic predefined macros are, and also uses the include
directories currently set up to be used for the project you're building.

I have found all those steps to be necessary in order to be able to run
wave on arbitrary C++ code.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk