From 0aba6821cd208a6ff3c44053581684d6b7d5b1ff Mon Sep 17 00:00:00 2001 From: Philip Fackler Date: Mon, 14 Aug 2023 14:23:10 -0400 Subject: [PATCH 1/5] Add doxygen target using cmake-generated doxyfile --- CMakeLists.txt | 1 + doxygen/CMakeLists.txt | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 doxygen/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 558d5eaf19..b8d9c31019 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1139,6 +1139,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) diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt new file mode 100644 index 0000000000..fefafd4b3a --- /dev/null +++ b/doxygen/CMakeLists.txt @@ -0,0 +1,15 @@ +find_package(Doxygen) +if(${DOXYGEN_FOUND}) + set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ${PROJECT_SOURCE_DIR}/README.md) + set(DOXYGEN_GENERATE_TREEVIEW YES) + set(DOXYGEN_TEMPLATE_RELATIONS YES) + set(DOXYGEN_BUILTIN_STL_SUPPORT YES) + set(DOXYGEN_EXTRACT_PRIVATE YES) + set(DOXYGEN_SOURCE_BROWSER YES) + set(DOXYGEN_INTERACTIVE_SVG YES) + set(DOXYGEN_DISTRIBUTE_GROUP_DOC YES) + + doxygen_add_docs(qmcpack_doxygen ${PROJECT_SOURCE_DIR}/src + ${PROJECT_SOURCE_DIR}/README.md) +endif() From 534c0d32b55db5766a1532e6077e8eb4a101106f Mon Sep 17 00:00:00 2001 From: Philip Fackler Date: Wed, 16 Aug 2023 12:54:49 -0400 Subject: [PATCH 2/5] Use if() pattern --- doxygen/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt index fefafd4b3a..97d770e098 100644 --- a/doxygen/CMakeLists.txt +++ b/doxygen/CMakeLists.txt @@ -1,5 +1,5 @@ find_package(Doxygen) -if(${DOXYGEN_FOUND}) +if(DOXYGEN_FOUND) set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ${PROJECT_SOURCE_DIR}/README.md) set(DOXYGEN_GENERATE_TREEVIEW YES) From 1aaba7f06e8fd469623b25da790cceb50c5231b2 Mon Sep 17 00:00:00 2001 From: Philip Fackler Date: Thu, 7 Dec 2023 13:41:36 -0500 Subject: [PATCH 3/5] Fix main page image and nav tree options --- doxygen/CMakeLists.txt | 67 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt index 97d770e098..27ba01d443 100644 --- a/doxygen/CMakeLists.txt +++ b/doxygen/CMakeLists.txt @@ -1,15 +1,56 @@ find_package(Doxygen) -if(DOXYGEN_FOUND) - set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") - set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ${PROJECT_SOURCE_DIR}/README.md) - set(DOXYGEN_GENERATE_TREEVIEW YES) - set(DOXYGEN_TEMPLATE_RELATIONS YES) - set(DOXYGEN_BUILTIN_STL_SUPPORT YES) - set(DOXYGEN_EXTRACT_PRIVATE YES) - set(DOXYGEN_SOURCE_BROWSER YES) - set(DOXYGEN_INTERACTIVE_SVG YES) - set(DOXYGEN_DISTRIBUTE_GROUP_DOC YES) - - doxygen_add_docs(qmcpack_doxygen ${PROJECT_SOURCE_DIR}/src - ${PROJECT_SOURCE_DIR}/README.md) +if(NOT DOXYGEN_FOUND) + 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_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) +# set(DOXYGEN_EXAMPLE_PATTERNS *.h *.cc) +# set(DOXYGEN_EXAMPLE_RECURSIVE YES) + +doxygen_add_docs(qmcpack_doxygen + ${PROJECT_SOURCE_DIR}/src + # ${CMAKE_CURRENT_LIST_DIR}/config.h + ${PROJECT_SOURCE_DIR}/README.md + ${PROJECT_SOURCE_DIR}/CHANGELOG.md + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +) From 9eb5f3094548c823952cf055c8c372c2230088cc Mon Sep 17 00:00:00 2001 From: Philip Fackler Date: Thu, 7 Dec 2023 13:49:22 -0500 Subject: [PATCH 4/5] Added status message when doxygen is not found --- doxygen/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt index 27ba01d443..d71cd72184 100644 --- a/doxygen/CMakeLists.txt +++ b/doxygen/CMakeLists.txt @@ -1,5 +1,8 @@ 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() @@ -44,8 +47,6 @@ set(DOXYGEN_HTML_TIMESTAMP YES) set(DOXYGEN_ENUM_VALUES_PER_LINE 1) set(DOXYGEN_GENERATE_TAGFILE qmc_doxygen_tags) set(DOXYGEN_CALL_GRAPH YES) -# set(DOXYGEN_EXAMPLE_PATTERNS *.h *.cc) -# set(DOXYGEN_EXAMPLE_RECURSIVE YES) doxygen_add_docs(qmcpack_doxygen ${PROJECT_SOURCE_DIR}/src From c0398f9a219204c61c2de8a57543931b290280e4 Mon Sep 17 00:00:00 2001 From: Philip Fackler Date: Thu, 7 Dec 2023 14:02:39 -0500 Subject: [PATCH 5/5] Added cmake-configured config header --- doxygen/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doxygen/CMakeLists.txt b/doxygen/CMakeLists.txt index d71cd72184..bb10608f38 100644 --- a/doxygen/CMakeLists.txt +++ b/doxygen/CMakeLists.txt @@ -16,6 +16,7 @@ set(DOXYGEN_IMAGE_PATH "$(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) @@ -50,7 +51,7 @@ set(DOXYGEN_CALL_GRAPH YES) doxygen_add_docs(qmcpack_doxygen ${PROJECT_SOURCE_DIR}/src - # ${CMAKE_CURRENT_LIST_DIR}/config.h + ${PROJECT_BINARY_DIR}/src/config.h ${PROJECT_SOURCE_DIR}/README.md ${PROJECT_SOURCE_DIR}/CHANGELOG.md WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}