Skip to content

Commit

Permalink
Add support for modular build structure. (#111)
Browse files Browse the repository at this point in the history
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:

- boostorg/boost#854
  • Loading branch information
grafikrobot authored Aug 24, 2024
1 parent b33ff4f commit 0fd179f
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 8 deletions.
35 changes: 35 additions & 0 deletions build.jam
Original file line number Diff line number Diff line change
@@ -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
;

19 changes: 11 additions & 8 deletions test/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@
# http://www.boost.org/LICENSE_1_0.txt)
#

require-b2 5.0.1 ;
import-search /boost/config/checks ;
import config : requires ;
import testing ;
import ../../config/checks/config : requires ;

local below_cpp14 = 98 03 0x 11 ;
local since_cpp20 = 2a 20 latest ;

project
: requirements
<library>/boost/variant//boost_variant
[ requires cxx11_rvalue_references ]
<toolset>msvc:<asynch-exceptions>on
;
Expand All @@ -30,7 +33,7 @@ test-suite variant
[ run test6.cpp : : : : variant_test6 ]
[ run test7.cpp : : : : variant_test7 ]
[ 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 variant_reference_test.cpp ]
[ run variant_comparison_test.cpp ]
Expand All @@ -39,7 +42,7 @@ test-suite variant
[ run variant_get_test.cpp ]
[ compile-fail variant_rvalue_get_with_ampersand_test.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_multivisit_test.cpp ]
[ run hash_variant_test.cpp ]
Expand All @@ -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 hash_recursive_variant_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 issue53.cpp ]
[ run issue53.cpp : : : <library>/boost/thread//boost_thread ]
[ 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 const_ref_apply_visitor.cpp ]
;
[ run const_ref_apply_visitor.cpp : : : <library>/boost/lexical_cast//boost_lexical_cast ]
;


0 comments on commit 0fd179f

Please sign in to comment.