diff --git a/CMakeLists.txt b/CMakeLists.txt index e0d522c..3a3a5b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,6 @@ target_link_libraries(boost_circular_buffer INTERFACE Boost::config Boost::core Boost::move - Boost::static_assert Boost::throw_exception Boost::type_traits ) diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..0de8395 --- /dev/null +++ b/build.jam @@ -0,0 +1,30 @@ +# 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/concept_check//boost_concept_check + /boost/config//boost_config + /boost/core//boost_core + /boost/move//boost_move + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits ; + +project /boost/circular_buffer + : common-requirements + + ; + +explicit + [ alias boost_circular_buffer : : : + : include $(boost_dependencies) ] + [ alias all : boost_circular_buffer example test ] + ; + +call-if : boost-library circular_buffer + ; + diff --git a/doc/jamfile.v2 b/doc/jamfile.v2 index 158be25..d3eb932 100644 --- a/doc/jamfile.v2 +++ b/doc/jamfile.v2 @@ -6,7 +6,7 @@ # Use, modification and distribution is subject to # the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt +# (See accompanying file LICENSE_1_0.txt # or copy at http://www.boost.org/LICENSE_1_0.txt) path-constant nav_images : html/images/ ; # png and svg images for home, next, note, tip... @@ -16,7 +16,7 @@ path-constant here : . ; # location of /doc folder. # echo "nav_images = " $(nav_images) ; # "nav_images = I:\boost-trunk\libs\circular_buffer\doc\html\images # echo "images_location = " $(images_location) ; # images_location = I:\boost-trunk\libs\circular_buffer\doc\html\images -# echo "pdf_images_location = " $(pdf_images_location) # +# echo "pdf_images_location = " $(pdf_images_location) # import modules ; using auto-index ; using doxygen ; # Required if you want to use Doxygen. @@ -26,10 +26,10 @@ using quickbook ; doxygen autodoc : # List all the files individually (RECURSIVE=NO ). - [ glob ../../../boost/circular_buffer.hpp ] - [ glob ../../../boost/circular_buffer/base.hpp ] - [ glob ../../../boost/circular_buffer/space_optimized.hpp ] - + [ glob ../include/boost/circular_buffer.hpp ] + [ glob ../include/boost/circular_buffer/base.hpp ] + [ glob ../include/boost/circular_buffer/space_optimized.hpp ] + : # Pass some setting parameters to Doxygen. WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile. @@ -38,14 +38,14 @@ doxygen autodoc # Much better to send message to a logfile than the default stderr. # and make sure that there are no Doxygen errors or significant warnings in the log file. RECURSIVE=NO # Search recursively down .hpp and .cpp subdirectories. - EXTRACT_ALL=NO - EXTRACT_PRIVATE=NO # NO means do not extract info about private member functions and data. + EXTRACT_ALL=NO + EXTRACT_PRIVATE=NO # NO means do not extract info about private member functions and data. HIDE_UNDOC_MEMBERS=YES # Only show members that have some documentation like \param, \return ... MACRO_EXPANSION=YES # YES will expand all macro names in the source code (default = NO). EXPAND_ONLY_PREDEF=YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the PREDEFINED and EXPAND_AS_DEFINED tags. # If EXPAND_ONLY_PREDEF tag can be used to specify a list of macro names that should be expanded (as defined). - # The PREDEFINED tag can be used to specify one or more macro names that are defined + # The PREDEFINED tag can be used to specify one or more macro names that are defined # before the preprocessor is started (similar to the -D option of gcc). # The argument of the tag is a list of macros of the form: # name or name=definition (no spaces). @@ -78,17 +78,17 @@ doxygen autodoc EXCLUDE_SYMBOLS=*_throws # IMAGE_PATH="../images" # for circular_buffer.png # See autodoxywarnings.log to check this is correct. - + # The syntax hoops to jump through are 'interesting' for more than one PREDEFINED, # and to permit spaces within definitions (use double quotes). # Don't forget that every double quote " needs a preceding \trip character! # and that each trailing continuation \ needs a preceding \trip character too! # And finally that if more than one item is included (as here) the whole is # enclosed in "PREDEFINED=... ", but without a leading \. Go figure... - + # A grep for PREDEFINED= in jamfiles will reveal even more complex examples. # Boost Libraries with useful examples are: Accumulators, Interprocess, MPI, Random, Units, Expressive. - + # Optionally, you can provide a Reference section name specific for your library, for example: "boost.doxygen.reftitle=Boost.Circular_buffer C++ Reference" ; @@ -101,7 +101,7 @@ boostbook standalone : circular_buffer : - + # General settings # ================= html:boost.root=../../../.. @@ -118,7 +118,7 @@ boostbook standalone page.margin.outer=0.5in # Yes, we want graphics for admonishments: admon.graphics=1 - + # HTML options: # ============= # Use graphics icons not text for navigation: @@ -137,27 +137,27 @@ boostbook standalone html:html.cellspacing=3 # pixels # Vertical spacing in table cells. html:html.cellpadding=5 # pixels - # Not sure if these are right way round? - + # Not sure if these are right way round? + on # Turns on index (or off). # Turns on (or off) index-verbose for diagnostic info (using /bin auto-index-verbose folders). - on - + on + pdf:off # on (or off) to use internally generated indexes. - + html:index.on.type=1 # = 1 For the native stylesheets to generate multiple different indexes. - - circular_buffer.idx # Specifies the name of the script to load for circular_buffer. + + circular_buffer.idx # Specifies the name of the script to load for circular_buffer. ../../.. # Will get you back up to /circular_buffer, so !scan-path "boost/circular_buffer/" is where *.hpp will be, # and /libs/circular_buffer for other files. # Without this would need !scan-path "../../../boost/circular_buffer" - + # Used by Quickbook to invoke indexing. # Required by boost-trunk/doc/ see jamfile.v2 to use auto-index. # Choose indexing method for html: html:on docbook:on - + # PDF Options: # ============ # TOC Generation: this is needed for FOP-0.9 and later: @@ -172,10 +172,10 @@ boostbook standalone page.margin.inner=0.5in # Margin size: page.margin.outer=0.5in - + # Yes, we want graphics for admonishments: admon.graphics=1 - + # Set these one for PDF generation *only*: # default png graphics are awful in PDF form, # better use SVG instead: @@ -183,19 +183,19 @@ boostbook standalone #pdf:admon.graphics.extension=".png" # Only png images are available. # Don't need this, default path works OK: #pdf:admon.graphics.path=$(nav_images)/ # next, prev, note, tip ... for pdf. - pdf:use.role.for.mediaobject=1 + pdf:use.role.for.mediaobject=1 pdf:preferred.mediaobject.role=print pdf:img.src.path=$(pdf_images_location)/ # graphics (diagrams) for pdf. pdf:draft.mode="no" pdf:boost.url.prefix=../../../.. - - autodoc # + + autodoc # png_install ; # Install (copy) the 'master' copies of all icon images (both PNG and SVG) # and the Boost logo from your current Boost-root -# to the local /doc/html/images folder so that html is complete and standalone. +# to the local /doc/html/images folder so that html is complete and standalone. install png_install : [ glob $(here)/*.png ] : $(here)/../../../doc/html/images ; # install pdf-install : standalone : PDF . ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 7e1ae58..0aa6f3a 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -13,6 +13,7 @@ import testing ; project : requirements + /boost/circular_buffer//boost_circular_buffer msvc:all msvc:on msvc:_SCL_SECURE_NO_WARNINGS @@ -28,5 +29,5 @@ test-suite "circular_buffer" [ run space_optimized_test.cpp : : : single "BOOST_CB_ENABLE_DEBUG=1" : space_optimized_test_dbg ] [ run soft_iterator_invalidation.cpp : : : single : ] [ run constant_erase_test.cpp : : : single : ] - [ compile bounded_buffer_comparison.cpp : multi : ] + [ compile bounded_buffer_comparison.cpp : multi /boost/thread//boost_thread /boost/timer//boost_timer : ] ;