From f2de8d82115e413cd7b9a5143821470aaacc9298 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 11 Jan 2019 21:36:07 -0600 Subject: [PATCH] Another tweak for standalone and symetric build. --- CMakeLists.txt | 2 +- build.jam | 37 ++++++++++++++++++++++++++++--------- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 72747cf..dc69fe5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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( )" command. # diff --git a/build.jam b/build.jam index e46e364..56938e1 100644 --- a/build.jam +++ b/build.jam @@ -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 : /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 : 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 $(BOOST_PREDEF_INCLUDE) ; -} -if $(is-jamroot) + +if [ project.is-jamroot-module $(__name__) ] { + local attributes = [ project.attributes $(__name__) ] ; $(attributes).set "build-dir" : bin ; } + +alias libs ;