1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # Jamfile.v2
- #
- # Copyright (c) 2007-2008
- # Steven Watanabe
- #
- # Distributed under the Boost Software License, Version 1.0. (See
- # accompanying file LICENSE_1_0.txt or copy at
- # http://www.boost.org/LICENSE_1_0.txt
- import testing ;
- import path ;
- import regex ;
- import print ;
- import sequence ;
- import feature ;
- project boost/units/test_headers :
- requirements <include>$(BOOST_ROOT) <include>../../..
- ;
- headers = [ path.glob-tree ../../../boost/units : *.hpp : detail ] ;
- for local file in $(headers)
- {
- compile test.cpp
- : # requirements
- <define>BOOST_UNITS_HEADER_NAME=$(file)
- <dependency>$(file)
- : # test name
- [ regex.replace [ path.relative-to ../../.. $(file) ] "/" "_" ] ;
- }
- feature.feature <generate-include-all-order> : forward reverse : incidental ;
- rule generate-include-all ( target : sources * : properties * )
- {
- print.output $(target) ;
- if <generate-include-all-order>reverse in $(properties)
- {
- sources = [ sequence.reverse $(sources) ] ;
- }
- for local file in $(sources)
- {
- print.text "#include <$(file:G=)>
- " : overwrite ;
- }
- }
- make include_all1.cpp : $(headers) : @generate-include-all ;
- make include_all2.cpp : $(headers) : @generate-include-all : <generate-include-all-order>reverse ;
- # this ought to catch non-inlined functions and other duplicate definitions
- link include_all1.cpp include_all2.cpp main.cpp : <include>. : include_all_headers ;
|