Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for modular build structure. #23

Open
wants to merge 11 commits into
base: develop
Choose a base branch
from
36 changes: 36 additions & 0 deletions build.jam
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 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/core//boost_core
/boost/fusion//boost_fusion
/boost/iterator//boost_iterator
/boost/mp11//boost_mp11
/boost/mpl//boost_mpl
/boost/preprocessor//boost_preprocessor
/boost/smart_ptr//boost_smart_ptr
/boost/throw_exception//boost_throw_exception
/boost/type_traits//boost_type_traits
/boost/typeof//boost_typeof
/boost/vmd//boost_vmd ;

project /boost/type_erasure
: common-requirements
<include>include
;

explicit
[ alias boost_type_erasure : build//boost_type_erasure ]
[ alias all : boost_type_erasure example test ]
;

call-if : boost-library type_erasure
: install boost_type_erasure
;

13 changes: 9 additions & 4 deletions build/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

project /boost/type_erasure
constant boost_dependencies_private :
/boost/thread//boost_thread
;

project
: source-location ../src
: common-requirements <library>$(boost_dependencies)
: requirements <link>shared:<define>BOOST_TYPE_ERASURE_DYN_LINK
<library>$(boost_dependencies_private)
: usage-requirements <link>shared:<define>BOOST_TYPE_ERASURE_DYN_LINK
<define>BOOST_TYPE_ERASURE_NO_LIB=1
;

lib boost_type_erasure : dynamic_binding.cpp /boost//thread ;

boost-install boost_type_erasure ;
lib boost_type_erasure : dynamic_binding.cpp /boost/thread//boost_thread ;
2 changes: 1 addition & 1 deletion doc/Jamfile.jam
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ xml type_erasure : type_erasure.qbk : <dependency>reference ;

doxygen reference
:
[ glob ../../../boost/type_erasure/*.hpp ]
[ glob ../include/boost/type_erasure/*.hpp ]
:
<doxygen:param>EXPAND_ONLY_PREDEF=YES
<doxygen:param>"ALIASES= \\
Expand Down
4 changes: 3 additions & 1 deletion example/Jamfile.jam
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

import testing ;

project : requirements <library>/boost/type_erasure//boost_type_erasure ;

compile basic.cpp ;
compile multi.cpp ;
compile convert.cpp ;
Expand All @@ -21,4 +23,4 @@ compile associated.cpp ;

run print_sequence.cpp ;
run printf.cpp ;
run multifunction.cpp ;
run multifunction.cpp /boost/variant//boost_variant /boost/phoenix//boost_phoenix ;
67 changes: 35 additions & 32 deletions test/Jamfile.jam
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,45 @@
# http://www.boost.org/LICENSE_1_0.txt)

import testing ;
import ../../../libs/config/checks/config ;
import-search /boost/config/checks ;
import config ;

run test_binding.cpp /boost//unit_test_framework ;
run test_increment.cpp /boost//unit_test_framework ;
run test_add.cpp /boost//unit_test_framework ;
run test_add_assign.cpp /boost//unit_test_framework ;
run test_callable.cpp /boost//unit_test_framework ;
run test_reference.cpp /boost//unit_test_framework ;
run test_construct.cpp /boost//unit_test_framework ;
run test_relaxed.cpp /boost//unit_test_framework ;
run test_assign.cpp /boost//unit_test_framework : : :
project : requirements <library>/boost/type_erasure//boost_type_erasure ;

run test_binding.cpp /boost/test//boost_unit_test_framework ;
run test_increment.cpp /boost/test//boost_unit_test_framework ;
run test_add.cpp /boost/test//boost_unit_test_framework ;
run test_add_assign.cpp /boost/test//boost_unit_test_framework ;
run test_callable.cpp /boost/test//boost_unit_test_framework ;
run test_reference.cpp /boost/test//boost_unit_test_framework ;
run test_construct.cpp /boost/test//boost_unit_test_framework ;
run test_relaxed.cpp /boost/test//boost_unit_test_framework ;
run test_assign.cpp /boost/test//boost_unit_test_framework : : :
<toolset>gcc,<target-os>windows:<cxxflags>-Wa,-mbig-obj
<toolset>gcc,<target-os>windows,<variant>debug:<build>no
;
run test_construct_ref.cpp /boost//unit_test_framework ;
run test_construct_cref.cpp /boost//unit_test_framework ;
run test_any_cast.cpp /boost//unit_test_framework ;
run test_binding_of.cpp /boost//unit_test_framework ;
run test_typeid_of.cpp /boost//unit_test_framework ;
run test_nested.cpp /boost//unit_test_framework ;
run test_less.cpp /boost//unit_test_framework ;
run test_equal.cpp /boost//unit_test_framework ;
run test_negate.cpp /boost//unit_test_framework ;
run test_dereference.cpp /boost//unit_test_framework ;
run test_subscript.cpp /boost//unit_test_framework ;
run test_forward_iterator.cpp /boost//unit_test_framework ;
run test_tuple.cpp /boost//unit_test_framework ;
run test_stream.cpp /boost//unit_test_framework ;
run test_deduced.cpp /boost//unit_test_framework ;
run test_same_type.cpp /boost//unit_test_framework ;
run test_member.cpp /boost//unit_test_framework ;
run test_null.cpp /boost//unit_test_framework ;
run test_free.cpp /boost//unit_test_framework ;
run test_is_empty.cpp /boost//unit_test_framework ;
run test_dynamic_any_cast.cpp /boost//unit_test_framework /boost//type_erasure ;
run test_limits.cpp /boost//unit_test_framework
run test_construct_ref.cpp /boost/test//boost_unit_test_framework ;
run test_construct_cref.cpp /boost/test//boost_unit_test_framework ;
run test_any_cast.cpp /boost/test//boost_unit_test_framework ;
run test_binding_of.cpp /boost/test//boost_unit_test_framework ;
run test_typeid_of.cpp /boost/test//boost_unit_test_framework ;
run test_nested.cpp /boost/test//boost_unit_test_framework ;
run test_less.cpp /boost/test//boost_unit_test_framework ;
run test_equal.cpp /boost/test//boost_unit_test_framework ;
run test_negate.cpp /boost/test//boost_unit_test_framework ;
run test_dereference.cpp /boost/test//boost_unit_test_framework ;
run test_subscript.cpp /boost/test//boost_unit_test_framework ;
run test_forward_iterator.cpp /boost/test//boost_unit_test_framework ;
run test_tuple.cpp /boost/test//boost_unit_test_framework ;
run test_stream.cpp /boost/test//boost_unit_test_framework ;
run test_deduced.cpp /boost/test//boost_unit_test_framework ;
run test_same_type.cpp /boost/test//boost_unit_test_framework ;
run test_member.cpp /boost/test//boost_unit_test_framework ;
run test_null.cpp /boost/test//boost_unit_test_framework ;
run test_free.cpp /boost/test//boost_unit_test_framework ;
run test_is_empty.cpp /boost/test//boost_unit_test_framework ;
run test_dynamic_any_cast.cpp /boost/test//boost_unit_test_framework /boost/type_erasure//boost_type_erasure ;
run test_limits.cpp /boost/test//boost_unit_test_framework
: requirements
[ config.requires cxx11_rvalue_references
cxx11_template_aliases
Expand Down
Loading