2
0
mirror of https://github.com/boostorg/any.git synced 2026-01-19 04:02:08 +00:00

Add support for modular build structure. (#29)

This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information.

This PR depends on the following other PRs being merged to both develop and master branches of the respective repos:

- https://github.com/boostorg/boost/pull/854

This PR will be changed to ready for review, i.e. not draft, when the above are merged. Do not merge this one until that time.
This commit is contained in:
René Ferdinand Rivera Morell
2024-08-24 04:35:27 -05:00
committed by GitHub
parent aee53090c0
commit 436e2991f9
4 changed files with 38 additions and 7 deletions

26
build.jam Normal file
View File

@@ -0,0 +1,26 @@
# Copyright René Ferdinand Rivera Morell 2023-2024
# 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)
require-b2 5.2 ;
constant boost_dependencies :
/boost/assert//boost_assert
/boost/config//boost_config
/boost/throw_exception//boost_throw_exception
/boost/type_index//boost_type_index ;
project /boost/any
: common-requirements
<include>include
;
explicit
[ alias boost_any : : : : <library>$(boost_dependencies) ]
[ alias all : boost_any test ]
;
call-if : boost-library any
;

View File

@@ -35,8 +35,8 @@ local doxygen_params =
doxygen autodoc_any
:
[ glob ../../../boost/any.hpp ]
[ glob ../../../boost/any/*.hpp ]
[ glob ../include/boost/any.hpp ]
[ glob ../include/boost/any/*.hpp ]
:
$(doxygen_params)
<xsl:param>"boost.doxygen.reftitle=Reference Section of Boost.Any"

View File

@@ -6,22 +6,25 @@
# For more information, see http://www.boost.org/libs/any
#
build-project unique_any ;
require-b2 5.0.1 ;
import-search /boost/config/checks ;
import config : requires ;
import ../../config/checks/config : requires ;
build-project unique_any ;
import testing ;
project
: source-location .
: requirements
<library>/boost/any//boost_any
[ requires cxx11_rvalue_references cxx11_static_assert ]
;
test-suite any :
[ run any_test.cpp ]
[ run any_test.cpp : : : <rtti>off <define>BOOST_NO_RTTI <define>BOOST_NO_TYPEID : any_test_no_rtti ]
[ run any_test_rv.cpp ]
[ run any_test_rv.cpp : : : ]
[ run any_test_rv.cpp : : : <rtti>off <define>BOOST_NO_RTTI <define>BOOST_NO_TYPEID : any_test_rv_no_rtti ]
[ run any_test_mplif.cpp ]
[ compile-fail any_cast_cv_failed.cpp ]
@@ -29,7 +32,7 @@ test-suite any :
[ compile-fail any_test_cv_to_rv_failed.cpp ]
[ run basic_any_test.cpp ]
[ run basic_any_test.cpp : : : <rtti>off <define>BOOST_NO_RTTI <define>BOOST_NO_TYPEID : basic_any_test_no_rtti ]
[ run basic_any_test_rv.cpp ]
[ run basic_any_test_rv.cpp : : : ]
[ run basic_any_test_rv.cpp : : : <rtti>off <define>BOOST_NO_RTTI <define>BOOST_NO_TYPEID : basic_any_test_rv_no_rtti ]
[ run basic_any_test_mplif.cpp ]
[ run basic_any_test_large_object.cpp ]

View File

@@ -8,7 +8,9 @@
#
# For more information, see http://www.boost.org/libs/any
import ../../config/checks/config : requires ;
require-b2 5.0.1 ;
import-search /boost/config/checks ;
import config : requires ;
import testing ;