2
0
mirror of https://github.com/boostorg/variant.git synced 2026-01-19 04:42:16 +00:00

Add support for modular build structure. (#111)

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 commit is contained in:
René Ferdinand Rivera Morell
2024-08-24 04:40:30 -05:00
committed by GitHub
parent b33ff4f811
commit 0fd179fbd8
2 changed files with 46 additions and 8 deletions

35
build.jam Normal file
View File

@@ -0,0 +1,35 @@
# 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/container_hash//boost_container_hash
/boost/core//boost_core
/boost/detail//boost_detail
/boost/integer//boost_integer
/boost/mpl//boost_mpl
/boost/preprocessor//boost_preprocessor
/boost/static_assert//boost_static_assert
/boost/throw_exception//boost_throw_exception
/boost/type_index//boost_type_index
/boost/type_traits//boost_type_traits
/boost/utility//boost_utility ;
project /boost/variant
: common-requirements
<include>include
;
explicit
[ alias boost_variant : : : : <library>$(boost_dependencies) ]
[ alias all : boost_variant test ]
;
call-if : boost-library variant
;

View File

@@ -8,14 +8,17 @@
# http://www.boost.org/LICENSE_1_0.txt) # http://www.boost.org/LICENSE_1_0.txt)
# #
require-b2 5.0.1 ;
import-search /boost/config/checks ;
import config : requires ;
import testing ; import testing ;
import ../../config/checks/config : requires ;
local below_cpp14 = 98 03 0x 11 ; local below_cpp14 = 98 03 0x 11 ;
local since_cpp20 = 2a 20 latest ; local since_cpp20 = 2a 20 latest ;
project project
: requirements : requirements
<library>/boost/variant//boost_variant
[ requires cxx11_rvalue_references ] [ requires cxx11_rvalue_references ]
<toolset>msvc:<asynch-exceptions>on <toolset>msvc:<asynch-exceptions>on
; ;
@@ -30,7 +33,7 @@ test-suite variant
[ run test6.cpp : : : : variant_test6 ] [ run test6.cpp : : : : variant_test6 ]
[ run test7.cpp : : : : variant_test7 ] [ run test7.cpp : : : : variant_test7 ]
[ run test8.cpp : : : : variant_test8 ] [ run test8.cpp : : : : variant_test8 ]
[ run test9.cpp : : : : variant_test9 ] [ run test9.cpp : : : <library>/boost/fusion//boost_fusion : variant_test9 ]
[ run recursive_variant_test.cpp ] [ run recursive_variant_test.cpp ]
[ run variant_reference_test.cpp ] [ run variant_reference_test.cpp ]
[ run variant_comparison_test.cpp ] [ run variant_comparison_test.cpp ]
@@ -39,7 +42,7 @@ test-suite variant
[ run variant_get_test.cpp ] [ run variant_get_test.cpp ]
[ compile-fail variant_rvalue_get_with_ampersand_test.cpp ] [ compile-fail variant_rvalue_get_with_ampersand_test.cpp ]
[ compile-fail no_rvalue_to_nonconst_visitation.cpp ] [ compile-fail no_rvalue_to_nonconst_visitation.cpp ]
[ compile fusion_interop.cpp ] [ compile fusion_interop.cpp : <library>/boost/fusion//boost_fusion ]
[ run variant_polymorphic_get_test.cpp ] [ run variant_polymorphic_get_test.cpp ]
[ run variant_multivisit_test.cpp ] [ run variant_multivisit_test.cpp ]
[ run hash_variant_test.cpp ] [ run hash_variant_test.cpp ]
@@ -58,13 +61,13 @@ test-suite variant
[ run recursive_variant_test.cpp : : : <rtti>off <define>BOOST_NO_RTTI <define>BOOST_NO_TYPEID : variant_no_rtti_test ] [ run recursive_variant_test.cpp : : : <rtti>off <define>BOOST_NO_RTTI <define>BOOST_NO_TYPEID : variant_no_rtti_test ]
[ run hash_recursive_variant_test.cpp ] [ run hash_recursive_variant_test.cpp ]
[ run variant_swap_test.cpp ] [ run variant_swap_test.cpp ]
[ run auto_visitors.cpp ] [ run auto_visitors.cpp : : : <library>/boost/lexical_cast//boost_lexical_cast ]
[ run issue42.cpp ] [ run issue42.cpp ]
[ run issue53.cpp ] [ run issue53.cpp : : : <library>/boost/thread//boost_thread ]
[ run overload_selection.cpp : : : "<cxxstd>$(since_cpp20)"\:<build>no ] [ run overload_selection.cpp : : : "<cxxstd>$(since_cpp20)"\:<build>no ]
[ run recursive_wrapper_move_test.cpp ] [ run recursive_wrapper_move_test.cpp : : : <library>/boost/array//boost_array ]
[ run variant_over_joint_view_test.cpp ] [ run variant_over_joint_view_test.cpp ]
[ run const_ref_apply_visitor.cpp ] [ run const_ref_apply_visitor.cpp : : : <library>/boost/lexical_cast//boost_lexical_cast ]
; ;