# # Copyright Andrey Semashev 2007 - 2015. # 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) # using quickbook ; using boostbook ; using doxygen ; using xsltproc ; import set ; import doxygen ; import xsltproc ; import notfile ; import path ; import project ; project boost/libs/log/doc ; path-constant images_location : html ; # NOTE: At least Doxygen 1.8.2 is needed to generate docs correctly. Older versions don't support C++11 constructs correctly and generate misleading docs. 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="aux aux::*" "PREDEFINED=BOOST_LOG_DOXYGEN_PASS \\ BOOST_LOG_NO_VTABLE= \\ BOOST_SYMBOL_VISIBLE= \\ BOOST_FORCEINLINE=inline \\ BOOST_INLINE_VARIABLE=inline \\ BOOST_STATIC_ASSERT(x)= \\ BOOST_STATIC_ASSERT_MSG(x,y)= \\ BOOST_STATIC_CONSTANT(x,y)=\"static constexpr x y\" \\ BOOST_RV_REF(x)=\"x&&\" \\ BOOST_NESTED_TEMPLATE=template \\ BOOST_CONSTEXPR=constexpr \\ BOOST_CXX14_CONSTEXPR=constexpr \\ BOOST_CONSTEXPR_OR_CONST=constexpr \\ BOOST_NOEXCEPT=noexcept \\ BOOST_NOEXCEPT_IF(x)=noexcept(x) \\ BOOST_NOEXCEPT_OR_NOTHROW=noexcept \\ BOOST_COPY_ASSIGN_REF(x)=\"x const&\" \\ BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(x)= \\ BOOST_LOG_UNIQUE_IDENTIFIER_NAME(x)=anonymous \\ BOOST_LOG_USE_NATIVE_SYSLOG=1 \\ BOOST_PARAMETER_KEYWORD(x,y)=\"keyword y;\" \\ BOOST_LOG_AUX_VOID_DEFAULT=\"= void\" \\ BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL=sinks::synchronous_sink \\ BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL=sinks::synchronous_sink \\ BOOST_LOG_NAMESPACE=log \\ BOOST_LOG_OPEN_NAMESPACE=\"namespace log {\" \\ BOOST_LOG_CLOSE_NAMESPACE=\"}\" \\ BOOST_DEFAULTED_FUNCTION(x,y)=\"x = default;\" \\ BOOST_DELETED_FUNCTION(x)=\"x = delete;\" \\ BOOST_EXPLICIT_OPERATOR_BOOL()=\"explicit operator bool() const;\" \\ BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()=\"explicit operator bool() const noexcept;\" \\ BOOST_LOG_USE_CHAR \\ BOOST_LOG_USE_WCHAR_T \\ BOOST_LOG_API= \\ BOOST_LOG_SETUP_API=" boost.doxygen.detailns=aux # boost.doxygen.detail=implementation_ ; local top_level_includes = [ glob ../../../boost/log/*.hpp ] ; local core_includes = [ glob ../../../boost/log/core/*.hpp ] ; local attributes_includes = [ glob ../../../boost/log/attributes/*.hpp ] ; local expressions_includes = [ glob ../../../boost/log/expressions/*.hpp ../../../boost/log/expressions/predicates/*.hpp ../../../boost/log/expressions/formatters/*.hpp ] ; local sources_includes = [ glob ../../../boost/log/sources/*.hpp ] ; local sinks_includes = [ set.difference # Document all these files... [ glob ../../../boost/log/sinks/*.hpp ] : # ...except these [ glob ../../../boost/log/sinks/nt6_event_log*.hpp ] ] ; local utility_includes = [ glob ../../../boost/log/utility/*.hpp ../../../boost/log/utility/ipc/*.hpp ../../../boost/log/utility/setup/*.hpp ../../../boost/log/utility/type_dispatch/*.hpp ../../../boost/log/utility/functional/*.hpp ../../../boost/log/utility/manipulators/*.hpp ] ; local support_includes = [ glob ../../../boost/log/support/*.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 { # echo "*** Executing " $(NAME:E=xsltproc) -o "$(TARGET)" "$(STYLESHEET)" "$(>)" $(NAME:E=xsltproc) -o "$(TARGET)" "$(STYLESHEET)" "$(>)" } doxygen top_level_reference : $(top_level_includes) : $(doxygen_params) "boost.doxygen.reftitle=Top level headers" tmp ; notfile top_level_refs : @gen-references : top_level_reference.xml ; doxygen core_reference : $(core_includes) : $(doxygen_params) "boost.doxygen.reftitle=Core components" tmp ; notfile core_refs : @gen-references : core_reference.xml ; doxygen attributes_reference : $(attributes_includes) : $(doxygen_params) "boost.doxygen.reftitle=Attributes" tmp ; notfile attributes_refs : @gen-references : attributes_reference.xml ; doxygen expressions_reference : $(expressions_includes) : $(doxygen_params) "boost.doxygen.reftitle=Expressions" tmp ; notfile expressions_refs : @gen-references : expressions_reference.xml ; doxygen sources_reference : $(sources_includes) : $(doxygen_params) "boost.doxygen.reftitle=Logging sources" tmp ; notfile sources_refs : @gen-references : sources_reference.xml ; doxygen sinks_reference : $(sinks_includes) : $(doxygen_params) "boost.doxygen.reftitle=Sinks" tmp ; notfile sinks_refs : @gen-references : sinks_reference.xml ; doxygen utility_reference : $(utility_includes) : $(doxygen_params) "boost.doxygen.reftitle=Utilities" tmp ; notfile utility_refs : @gen-references : utility_reference.xml ; doxygen support_reference : $(support_includes) : $(doxygen_params) "boost.doxygen.reftitle=Other libraries support layer" tmp ; notfile support_refs : @gen-references : support_reference.xml ; xml log_doc : log.qbk : top_level_refs core_refs attributes_refs expressions_refs sources_refs sinks_refs utility_refs support_refs ; boostbook log : log_doc : html/images/log boost.root=../../../.. boost.libraries=../../../libs/libraries.htm nav.layout=none boost.image=Boost navig.graphics=1 chunk.section.depth=2 boost.compact.function=0 pdf:boost.url.prefix=http://www.boost.org/doc/libs/release/libs/log/doc/html pdf:img.src.path=$(images_location)/ ; install html/images/log : [ glob *.png ] ; ############################################################################### alias boostdoc ; explicit boostdoc ; alias boostrelease : log ; explicit boostrelease ;