CXX-2745 apply precursor changes to Doxygen and CMake configs #1166
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Precursor changes related to CXX-2745 concerning Doxygen and CMake configs. Verified by this patch.
Doxygen
In an effort to better align the Doxygen API documentation with our API compatibility policy,
SHOW_INCLUDE_FILES
is set toNO
: we only want to reveal the presence of certain#include
directives only when we deliberately support transitive inclusion via the documented header.Similarly,
EXTRACT_LOCAL_CLASSES
is set toNO
: we do not want to reveal details of internal and private implementation classes in the Doxygen API documentation. Only classes whose declarations or definitions are present in public API header files should be included.Lastly,
INCLUDE_PATHS
is updated to be consistent with the install target include paths for bsoncxx and mongocxx by including the include prefix to permit<bsoncxx/v<abi>/bsoncxx/header.hpp>
include patterns.CMake
To support the upcoming addition of
v1
files, some redundancy in CMake file lists is addressed by making use offile(GLOB_RECURSE)
(already being used forinstall()
commands) and a dedicated(bsoncxx|mongocxx)_sources_v_noabi
variable.Additionally, the macro guard tests are updated to explicitly exclude the prelude/postlude headers themselves to account for their eventual presence under multiple directories.