Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add doxygen target using cmake-generated doxyfile #4700

Merged
merged 9 commits into from
Sep 24, 2024
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1129,6 +1129,7 @@ message(STATUS "Ready to parse QMCPACK source tree")

add_subdirectory(external_codes)
add_subdirectory(src)
add_subdirectory(doxygen)

if(NOT QMC_BUILD_SANDBOX_ONLY)
if(NOT QMC_NO_SLOW_CUSTOM_TESTING_COMMANDS)
Expand Down
58 changes: 58 additions & 0 deletions doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
find_package(Doxygen)
if(NOT DOXYGEN_FOUND)
message(STATUS "The qmcpack_doxygen target for the QMCPACK developer/API "
"documentation requires doxygen and (optionally) dot from graphviz."
)
return()
endif()

set(DOXYGEN_PROJECT_NAME QMCPACK)
set(DOXYGEN_FILE_PATTERNS *.h *.cpp *.doc)
set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
set(DOXYGEN_STRIP_FROM_PATH docs src)
set(DOXYGEN_IMAGE_PATH
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/doxygen/images
"$(DOXYGEN_IMAGE_PATH)"
)
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ${PROJECT_SOURCE_DIR}/README.md)
set(DOXYGEN_TOC_INCLUDE_HEADINGS 0)
set(DOXYGEN_NUM_PROC_THREADS 0)
set(DOXYGEN_GENERATE_TREEVIEW YES)
set(DOXYGEN_TEMPLATE_RELATIONS YES)
set(DOXYGEN_EXTRACT_ALL YES)
set(DOXYGEN_EXTRACT_PRIVATE YES)
set(DOXYGEN_EXTRACT_STATIC YES)
set(DOXYGEN_SOURCE_BROWSER YES)
set(DOXYGEN_SHORT_NAMES YES)
set(DOXYGEN_JAVADOC_AUTOBRIEF YES)
set(DOXYGEN_DOT_IMAGE_FORMAT svg)
set(DOXYGEN_INTERACTIVE_SVG YES)
set(DOXYGEN_DISTRIBUTE_GROUP_DOC YES)
set(DOXYGEN_INLINE_GROUPED_CLASSES YES)
set(DOXYGEN_INLINE_SIMPLE_STRUCTS YES)
set(DOXYGEN_INLINE_SOURCES YES)
set(DOXYGEN_STRIP_CODE_COMMENTS NO)
set(DOXYGEN_HIDE_SCOPE_NAMES YES)
set(DOXYGEN_SHOW_INCLUDE_FILES NO)
set(DOXYGEN_REFERENCED_BY_RELATION YES)
set(DOXYGEN_REFERENCES_RELATION YES)
set(DOXYGEN_VERBATIM_HEADERS NO)
set(DOXYGEN_TOC_EXPAND YES)
set(DOXYGEN_MACRO_EXPANSION YES)
set(DOXYGEN_EXPAND_ONLY_PREDEF YES)
set(DOXYGEN_SEARCH_INCLUDES NO)
set(DOXYGEN_PREDEFINED DOXYGEN_SHOULD_SKIP_THIS)
set(DOXYGEN_DIRECTORY_GRAPH NO)
set(DOXYGEN_HTML_TIMESTAMP YES)
set(DOXYGEN_ENUM_VALUES_PER_LINE 1)
set(DOXYGEN_GENERATE_TAGFILE qmc_doxygen_tags)
set(DOXYGEN_CALL_GRAPH YES)

doxygen_add_docs(qmcpack_doxygen
${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/src/config.h
${PROJECT_SOURCE_DIR}/README.md
${PROJECT_SOURCE_DIR}/CHANGELOG.md
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
Loading