Merge pull request #121 from grafikrobot/modular

Add support for modular build structure.
This commit is contained in:
Marshall Clow
2024-09-03 11:59:17 -07:00
committed by GitHub
10 changed files with 110 additions and 67 deletions

11
Jamfile
View File

@@ -1,11 +0,0 @@
# Boost.Algorithm Library Jamfile
#
# Copyright (c) 2018 James E. King III
#
# Use, modification, and distribution are subject to 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)
# please order by name to ease maintenance
build-project example ;
build-project test ;

42
build.jam Normal file
View File

@@ -0,0 +1,42 @@
# 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/array//boost_array
/boost/assert//boost_assert
/boost/bind//boost_bind
/boost/concept_check//boost_concept_check
/boost/config//boost_config
/boost/core//boost_core
/boost/exception//boost_exception
/boost/function//boost_function
/boost/iterator//boost_iterator
/boost/mpl//boost_mpl
/boost/range//boost_range
/boost/regex//boost_regex
/boost/static_assert//boost_static_assert
/boost/throw_exception//boost_throw_exception
/boost/tuple//boost_tuple
/boost/type_traits//boost_type_traits
/boost/unordered//boost_unordered ;
project /boost/algorithm
: common-requirements
<include>include
;
explicit
[ alias boost_algorithm : : : : <library>$(boost_dependencies) ]
[ alias all : boost_algorithm test
example
minmax/example minmax/test
string/example string/test
]
;
call-if : boost-library algorithm
;

View File

@@ -16,18 +16,18 @@ using quickbook ;
using doxygen ; using doxygen ;
using boostbook ; using boostbook ;
doxygen autodoc doxygen autodoc
: :
[ glob ../../../boost/algorithm/*.hpp [ glob ../include/boost/algorithm/*.hpp
../../../boost/algorithm/searching/*.hpp ../include/boost/algorithm/searching/*.hpp
../../../boost/algorithm/cxx11/*.hpp ../include/boost/algorithm/cxx11/*.hpp
../../../boost/algorithm/cxx14/*.hpp ../include/boost/algorithm/cxx14/*.hpp
../../../boost/algorithm/cxx17/*.hpp ../include/boost/algorithm/cxx17/*.hpp
] ]
: :
<doxygen:param>"PREDEFINED=\"BOOST_ALGORITHM_DOXYGEN=1\"" <doxygen:param>"PREDEFINED=\"BOOST_ALGORITHM_DOXYGEN=1\""
<doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile. <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
; ;
xml algorithm : algorithm.qbk ; xml algorithm : algorithm.qbk ;
@@ -36,7 +36,7 @@ boostbook standalone
: :
algorithm algorithm
: :
<dependency>autodoc <dependency>autodoc
<xsl:param>boost.root=../../../.. <xsl:param>boost.root=../../../..
<xsl:param>"boost.doxygen.reftitle=Boost.Algorithms C++ Reference" <xsl:param>"boost.doxygen.reftitle=Boost.Algorithms C++ Reference"
<xsl:param>chapter.autolabel=0 <xsl:param>chapter.autolabel=0

View File

@@ -8,9 +8,9 @@
# See http://www.boost.org for updates, documentation, and revision history. # See http://www.boost.org for updates, documentation, and revision history.
project /boost/algorithm/example project
: requirements : requirements
<include>../../../ <library>/boost/algorithm//boost_algorithm
<optimization>speed <optimization>speed
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
<toolset>msvc:<define>NOMINMAX <toolset>msvc:<define>NOMINMAX

View File

@@ -7,6 +7,11 @@
# http://www.boost.org/LICENSE_1_0.txt) # http://www.boost.org/LICENSE_1_0.txt)
# #
project
: requirements
<library>/boost/algorithm//boost_algorithm
<library>/boost/timer//boost_timer ;
exe minmax_ex : minmax_ex.cpp ; exe minmax_ex : minmax_ex.cpp ;
exe minmax_timer : minmax_timer.cpp ; exe minmax_timer : minmax_timer.cpp ;

View File

@@ -9,17 +9,19 @@
import testing ; import testing ;
project : requirements <library>/boost/algorithm//boost_algorithm ;
alias unit_test_framework alias unit_test_framework
: # sources : # sources
/boost//unit_test_framework /boost/test//boost_unit_test_framework
; ;
{ {
test-suite algorithm/minmax test-suite algorithm/minmax
: [ run minmax_element_test.cpp unit_test_framework : [ run minmax_element_test.cpp unit_test_framework
: : : : minmax_element ] : : : : minmax_element ]
[ run minmax_test.cpp unit_test_framework [ run minmax_test.cpp unit_test_framework
: : : : minmax ] : : : : minmax ]
; ;
} }

View File

@@ -10,40 +10,40 @@
import toolset ; import toolset ;
toolset.using doxygen ; toolset.using doxygen ;
boostbook string_algo : string_algo.xml autodoc boostbook string_algo : string_algo.xml autodoc
: :
<xsl:param>boost.root=../../../../.. <xsl:param>boost.root=../../../../..
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
; ;
doxygen autodoc doxygen autodoc
: :
[ glob ../../../../boost/algorithm/string.hpp ] [ glob ../../include/boost/algorithm/string.hpp ]
[ glob ../../../../boost/algorithm/string_regex.hpp ] [ glob ../../include/boost/algorithm/string_regex.hpp ]
[ glob ../../../../boost/algorithm/string/classification.hpp ] [ glob ../../include/boost/algorithm/string/classification.hpp ]
[ glob ../../../../boost/algorithm/string/iterator_range.hpp ] [ glob ../../include/boost/algorithm/string/iterator_range.hpp ]
[ glob ../../../../boost/algorithm/string/sequence_traits.hpp ] [ glob ../../include/boost/algorithm/string/sequence_traits.hpp ]
[ glob ../../../../boost/algorithm/string/std_containers_traits.hpp ] [ glob ../../include/boost/algorithm/string/std_containers_traits.hpp ]
[ glob ../../../../boost/algorithm/string/concept.hpp ] [ glob ../../include/boost/algorithm/string/concept.hpp ]
[ glob ../../../../boost/algorithm/string/compare.hpp ] [ glob ../../include/boost/algorithm/string/compare.hpp ]
[ glob ../../../../boost/algorithm/string/constants.hpp ] [ glob ../../include/boost/algorithm/string/constants.hpp ]
[ glob ../../../../boost/algorithm/string/case_conv.hpp ] [ glob ../../include/boost/algorithm/string/case_conv.hpp ]
[ glob ../../../../boost/algorithm/string/find.hpp ] [ glob ../../include/boost/algorithm/string/find.hpp ]
[ glob ../../../../boost/algorithm/string/finder.hpp ] [ glob ../../include/boost/algorithm/string/finder.hpp ]
[ glob ../../../../boost/algorithm/string/find_iterator.hpp ] [ glob ../../include/boost/algorithm/string/find_iterator.hpp ]
[ glob ../../../../boost/algorithm/string/trim.hpp ] [ glob ../../include/boost/algorithm/string/trim.hpp ]
[ glob ../../../../boost/algorithm/string/predicate.hpp ] [ glob ../../include/boost/algorithm/string/predicate.hpp ]
[ glob ../../../../boost/algorithm/string/split.hpp ] [ glob ../../include/boost/algorithm/string/split.hpp ]
[ glob ../../../../boost/algorithm/string/iter_find.hpp ] [ glob ../../include/boost/algorithm/string/iter_find.hpp ]
[ glob ../../../../boost/algorithm/string/erase.hpp ] [ glob ../../include/boost/algorithm/string/erase.hpp ]
[ glob ../../../../boost/algorithm/string/join.hpp ] [ glob ../../include/boost/algorithm/string/join.hpp ]
[ glob ../../../../boost/algorithm/string/replace.hpp ] [ glob ../../include/boost/algorithm/string/replace.hpp ]
[ glob ../../../../boost/algorithm/string/find_format.hpp ] [ glob ../../include/boost/algorithm/string/find_format.hpp ]
[ glob ../../../../boost/algorithm/string/formatter.hpp ] [ glob ../../include/boost/algorithm/string/formatter.hpp ]
[ glob ../../../../boost/algorithm/string/regex.hpp ] [ glob ../../include/boost/algorithm/string/regex.hpp ]
[ glob ../../../../boost/algorithm/string/regex_find_format.hpp ] [ glob ../../include/boost/algorithm/string/regex_find_format.hpp ]
[ glob ../../../../boost/algorithm/string/trim_all.hpp ] [ glob ../../include/boost/algorithm/string/trim_all.hpp ]
: :
<doxygen:param>HIDE_UNDOC_MEMBERS=YES <doxygen:param>HIDE_UNDOC_MEMBERS=YES
<doxygen:param>EXTRACT_PRIVATE=NO <doxygen:param>EXTRACT_PRIVATE=NO
@@ -53,7 +53,7 @@ doxygen autodoc
<doxygen:param>SEARCH_INCLUDES=YES <doxygen:param>SEARCH_INCLUDES=YES
<doxygen:param>PREDEFINED="BOOST_STRING_TYPENAME=typename \"BOOST_STATIC_CONSTANT(type,var)=static const type var;\"" <doxygen:param>PREDEFINED="BOOST_STRING_TYPENAME=typename \"BOOST_STATIC_CONSTANT(type,var)=static const type var;\""
; ;

View File

@@ -7,6 +7,7 @@
# #
# See http://www.boost.org for updates, documentation, and revision history. # See http://www.boost.org for updates, documentation, and revision history.
project : requirements <library>/boost/algorithm//boost_algorithm ;
exe conv_example : conv_example.cpp ; exe conv_example : conv_example.cpp ;
exe predicate_example : predicate_example.cpp ; exe predicate_example : predicate_example.cpp ;

View File

@@ -9,31 +9,33 @@
import testing ; import testing ;
project : requirements <library>/boost/algorithm//boost_algorithm ;
alias unit_test_framework alias unit_test_framework
: # sources : # sources
/boost//unit_test_framework /boost/test//boost_unit_test_framework
; ;
test-suite algorithm/string test-suite algorithm/string
: [ run : [ run
trim_test.cpp unit_test_framework trim_test.cpp unit_test_framework
: : : :
: :
: trim : trim
] ]
[ run [ run
conv_test.cpp unit_test_framework conv_test.cpp unit_test_framework
: : : :
: :
: conv : conv
] ]
[ run [ run
predicate_test.cpp unit_test_framework predicate_test.cpp unit_test_framework
: : : :
: :
: predicate : predicate
] ]
[ run [ run
find_test.cpp unit_test_framework find_test.cpp unit_test_framework
: : : :
: :
@@ -51,23 +53,23 @@ test-suite algorithm/string
: :
: join : join
] ]
[ run [ run
replace_test.cpp unit_test_framework replace_test.cpp unit_test_framework
: : : :
: :
: replace : replace
] ]
[ run [ run
regex_test.cpp unit_test_framework regex_test.cpp unit_test_framework
../../../regex/build//boost_regex ../../../regex/build//boost_regex
: : : :
: :
: regex : regex
] ]
[ run [ run
find_format_test.cpp unit_test_framework find_format_test.cpp unit_test_framework
: : : :
: :
: find_format : find_format
] ]
; ;

View File

@@ -9,9 +9,11 @@
import testing ; import testing ;
project : requirements <library>/boost/algorithm//boost_algorithm ;
alias unit_test_framework alias unit_test_framework
: # sources : # sources
/boost//unit_test_framework /boost/test//boost_unit_test_framework
; ;
@@ -85,7 +87,7 @@ alias unit_test_framework
# Is_partitioned_until tests # Is_partitioned_until tests
[ run is_partitioned_until_test.cpp unit_test_framework : : : : is_partitioned_until_test ] [ run is_partitioned_until_test.cpp unit_test_framework : : : : is_partitioned_until_test ]
# Apply_permutation tests # Apply_permutation tests
[ run apply_permutation_test.cpp unit_test_framework : : : : apply_permutation_test ] [ run apply_permutation_test.cpp unit_test_framework : : : : apply_permutation_test ]
# Find tests # Find tests