Boost logo

Boost-Build :

Subject: Re: [Boost-build] How to run a program generating .qbk files before quickbook ?
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2015-08-03 07:38:38


> -----Original Message-----
> From: John Maddock [mailto:jz.maddock_at_[hidden]]
> Sent: 31 July 2015 17:57
> To: Boost.Build developer's and user's list
> Subject: Re: [Boost-build] How to run a program generating .qbk files before quickbook ?
>
> On 31/07/2015 15:53, Paul A. Bristow wrote:
> > I need to (re-)generate some tables as *.qbk files before building the documentation proper.
> >
> > # Generate Quickbook tables of types and their numeric_limits.
> > run fixed_point_types_table.cpp ;
> >
> > writes the files
> >
> > How do I ensure that
> >
> > 1 The files are only re-generated when the source .cpp has changed ( been edited).
> >
> > 2 The files are written before the main Quickbook is processed to xml
> > with
> >
> > xml fixed_point
> > :
> > fixed_point.qbk
> > :
> > <dependency>autodoc # doxygen
> > ;
> >
> > I looks as though I need a <dependency>
> >
> > but I can't see what the target would be called.
> >
> > 3 I may have more than one .cpp file to run. How can I run all the .cpp in the (doc/) folder?
>
> Put them in a test_suite wrapper and then add that as a dependency, as in this Jamfile:
> https://github.com/boostorg/math/blob/accuracy/reporting/accuracy/Jamfile.v2
>
> HTH, John.

Yes - As always.

My solution in case others need to do this (or I forget ;-)

rule all_tables
{
  # Generate Quickbook tables of types and their numeric_limits.
  run fixed_point_types_table.cpp ;
} # rule all_tables

test-suite tables_generate : [ all_tables ] ;

...

xml fixed_point
  :
    fixed_point.qbk :
  :
    <dependency>autodoc # doxygen
    <dependency>tables_generate # tables of fixed_point and floating-point limits.
  ;

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830

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