Another tweak for standalone and symetric build.

This commit is contained in:
Rene Rivera
2019-01-11 21:36:07 -06:00
parent a340a52605
commit f2de8d8211
2 changed files with 29 additions and 10 deletions

View File

@ -8,7 +8,7 @@
# CMake support for Boost.Predef is currently experimental at best and the
# interface is likely to change in the future
#
# This file provides mininmal cmake support (no unit-tests,
# This file provides minimal cmake support (no unit-tests,
# no installation) for integration into a "host" cmake project
# via the "add_subdirectory( <path-to-boost-predef> )" command.
#

View File

@ -3,22 +3,41 @@
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
#|
This B2 project provides support for using the Predef library externally as
a standalone project or by embedding in your B2 project tree. To use
externally you would need a `use-project` declaration and to use the
project as a dependency where needed:
----
use-project /hash-predef : /path/to/hash-predef/root ;
exe my_thing : main.cpp : <dependency>/hash-predef ;
----
To use in your project tree you would only need to place the Predef tree
in a subdirectory and reference the project location as a dependency where
needed.
----
exe my_thin : main.cpp : <dependency>libs/hash-predef ;
----
|#
import project ;
path-constant BOOST_PREDEF_ROOT : . ;
path-constant BOOST_PREDEF_INCLUDE : include ;
constant PREDEF_DIST : boost ;
project /boost/predef ;
local attributes = [ project.attributes $(__name__) ] ;
local is-jamroot = [ project.is-jamroot-module $(__name__) ] ;
if ( $(PREDEF_DIST) = hash ) || ( ( $(PREDEF_DIST) = boost ) && $(is-jamroot) )
{
$(attributes).set "requirements" :
project /boost/predef
: usage-requirements
<include>$(BOOST_PREDEF_INCLUDE) ;
}
if $(is-jamroot)
if [ project.is-jamroot-module $(__name__) ]
{
local attributes = [ project.attributes $(__name__) ] ;
$(attributes).set "build-dir" : bin ;
}
alias libs ;