# Copyright 2023 Andrey Semashev # # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # https://www.boost.org/LICENSE_1_0.txt) using quickbook ; using boostbook ; using doxygen ; using xsltproc ; import set ; import doxygen ; import xsltproc ; import notfile ; import path ; import project ; project boost/libs/scope/doc ; local doxygen_params = RECURSIVE=YES ALPHABETICAL_INDEX=YES REPEAT_BRIEF=YES ALWAYS_DETAILED_SEC=YES BRIEF_MEMBER_DESC=NO ABBREVIATE_BRIEF=YES INHERIT_DOCS=YES HIDE_UNDOC_MEMBERS=YES HIDE_UNDOC_CLASSES=YES HIDE_SCOPE_NAMES=YES EXTRACT_ALL=NO EXTRACT_PRIVATE=NO BUILTIN_STL_SUPPORT=YES ENABLE_PREPROCESSING=YES MACRO_EXPANSION=YES TAB_SIZE=4 SOURCE_BROWSER=YES VERBATIM_HEADERS=NO # SEARCH_INCLUDES=YES # "INCLUDE_PATH=../../.." # EXCLUDE_SYMBOLS="detail detail::*" "PREDEFINED=BOOST_SCOPE_DOXYGEN \\ BOOST_SCOPE_DETAIL_DOC_ALT(alt, ...)=alt \\ BOOST_SCOPE_DETAIL_DOC_HIDDEN(...)=... \\ BOOST_SCOPE_DETAIL_DOC(...)=__VA_ARGS__ \\ BOOST_NO_CXX17_DEDUCTION_GUIDES=1 \\ BOOST_SYMBOL_VISIBLE= \\ BOOST_FORCEINLINE=inline \\ BOOST_INLINE_VARIABLE=inline \\ BOOST_CXX14_CONSTEXPR=constexpr" boost.doxygen.detailns=detail # boost.doxygen.detail=implementation_ ; local top_level_includes = [ glob ../../../boost/scope/*.hpp ] ; # This rule generates *.qbk files with macros with references to files, classes, etc. from the doxygen resulting *.xml files. rule gen-references ( target : source : properties * ) { DEPENDS target : source ; local source-path = [ path.make [ on $(source) return $(LOCATE) ] ] ; STYLESHEET on $(target) = [ path.native [ path.join [ path.parent $(source-path) ] gen_references.xsl ] ] ; local target-name = $(source:B) ; TARGET on $(target) = [ path.native [ path.join $(source-path) $(target-name:S=.qbk) ] ] ; } actions gen-references { $(NAME:E=xsltproc) -o "$(TARGET)" "$(STYLESHEET)" "$(>)" } doxygen top_level_reference : $(top_level_includes) : $(doxygen_params) "boost.doxygen.reftitle=Reference" tmp ; notfile top_level_refs : @gen-references : top_level_reference.xml ; xml scope_doc : scope.qbk : top_level_refs ; boostbook scope : scope_doc : "boost.root=../../../.." "boost.libraries=../../../libs/libraries.htm" "nav.layout=none" "boost.image=Boost" "navig.graphics=1" "chunk.section.depth=1" "boost.compact.function=0" pdf:"boost.url.prefix=https://www.boost.org/doc/libs/release/libs/scope/doc/html" ; ############################################################################### alias boostdoc ; explicit boostdoc ; alias boostrelease : scope ; explicit boostrelease ;