Author: Jameson Nash Date: 2026-06-11T08:58:36-04:00 New Revision: 7daddf2b6f44960344157a0accb3963a7d87ca03
URL: https://github.com/llvm/llvm-project/commit/7daddf2b6f44960344157a0accb3963a7d87ca03 DIFF: https://github.com/llvm/llvm-project/commit/7daddf2b6f44960344157a0accb3963a7d87ca03.diff LOG: [docs] try again to handle doxygen everywhere (#203081) The previous attempt at this (b7da9565017e32c18b927a7637714d1b660b558d) still broke standalone builds. Now I have locally tested standalone flang, runtimes (with openmp), lldb, combined builds, and the utils script. Hopefully that covers everything this time, and gets everything into a more consistent state (always using the HandleDoxygen script in the same way, included exactly once as required by the cmake design). Added: Modified: bolt/docs/CMakeLists.txt clang-tools-extra/docs/CMakeLists.txt clang/docs/CMakeLists.txt cmake/Modules/HandleDoxygen.cmake flang/CMakeLists.txt flang/docs/CMakeLists.txt lldb/CMakeLists.txt lldb/docs/CMakeLists.txt llvm/CMakeLists.txt llvm/docs/CMakeLists.txt mlir/docs/CMakeLists.txt openmp/docs/CMakeLists.txt polly/docs/CMakeLists.txt runtimes/CMakeLists.txt Removed: ################################################################################ diff --git a/bolt/docs/CMakeLists.txt b/bolt/docs/CMakeLists.txt index 92c3c964acb77..45b6d6c6d707e 100644 --- a/bolt/docs/CMakeLists.txt +++ b/bolt/docs/CMakeLists.txt @@ -1,5 +1,3 @@ - -find_package(Doxygen) if (DOXYGEN_FOUND) if (LLVM_ENABLE_DOXYGEN) set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) @@ -48,7 +46,6 @@ if (LLVM_ENABLE_DOXYGEN) set(bolt_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/clang-tools-extra/docs/CMakeLists.txt b/clang-tools-extra/docs/CMakeLists.txt index 1492f25a0197f..5f0ac7befeaa6 100644 --- a/clang-tools-extra/docs/CMakeLists.txt +++ b/clang-tools-extra/docs/CMakeLists.txt @@ -46,7 +46,6 @@ if (DOXYGEN_FOUND) set(clang_tools_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/clang/docs/CMakeLists.txt b/clang/docs/CMakeLists.txt index b0de3e74c5c7d..10992eea61c28 100644 --- a/clang/docs/CMakeLists.txt +++ b/clang/docs/CMakeLists.txt @@ -1,4 +1,3 @@ - if (DOXYGEN_FOUND) if (LLVM_ENABLE_DOXYGEN) set(abs_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) @@ -47,7 +46,6 @@ if (LLVM_ENABLE_DOXYGEN) set(clang_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/cmake/Modules/HandleDoxygen.cmake b/cmake/Modules/HandleDoxygen.cmake index 9a8a453102ac7..82aa4d369cca1 100644 --- a/cmake/Modules/HandleDoxygen.cmake +++ b/cmake/Modules/HandleDoxygen.cmake @@ -20,6 +20,11 @@ if (LLVM_ENABLE_DOXYGEN) llvm_find_program(dot) find_package(Doxygen REQUIRED) message(STATUS "Doxygen enabled (${DOXYGEN_VERSION}).") + # Create a global aggregate doxygen target for generating llvm and any/all + # subprojects doxygen documentation. + if (LLVM_BUILD_DOCS) + add_custom_target(doxygen ALL) + endif() if (DOXYGEN_FOUND) option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF) diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt index a137b4acf239e..6d03080d71029 100644 --- a/flang/CMakeLists.txt +++ b/flang/CMakeLists.txt @@ -241,9 +241,6 @@ if (FLANG_STANDALONE_BUILD) else() add_custom_target(check-all DEPENDS check-flang ) endif() - if (LLVM_BUILD_DOCS) - add_custom_target(doxygen-flang ALL) - endif() else() option(FLANG_INCLUDE_TESTS @@ -305,6 +302,7 @@ list(INSERT CMAKE_MODULE_PATH 0 "${FLANG_SOURCE_DIR}/cmake/modules" "${LLVM_COMMON_CMAKE_UTILS}/Modules" ) + include(AddFlang) if (NOT DEFAULT_SYSROOT) @@ -516,6 +514,9 @@ endif() option(FLANG_INCLUDE_DOCS "Generate build targets for the Flang docs." ${LLVM_INCLUDE_DOCS}) +if(FLANG_STANDALONE_BUILD) + include(HandleDoxygen) +endif() if (FLANG_INCLUDE_DOCS) add_subdirectory(docs) endif() diff --git a/flang/docs/CMakeLists.txt b/flang/docs/CMakeLists.txt index 5f2fb2fadd067..d23cb7ea8c586 100644 --- a/flang/docs/CMakeLists.txt +++ b/flang/docs/CMakeLists.txt @@ -1,5 +1,3 @@ - -find_package(Doxygen) if (DOXYGEN_FOUND) if (LLVM_ENABLE_DOXYGEN) set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) @@ -48,7 +46,6 @@ if (LLVM_ENABLE_DOXYGEN) set(flang_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt index c30a0bca60e5e..46e83681a8141 100644 --- a/lldb/CMakeLists.txt +++ b/lldb/CMakeLists.txt @@ -34,6 +34,7 @@ if(LLDB_BUILT_STANDALONE) set(CMAKE_CXX_EXTENSIONS NO) include(LLDBStandalone) + include(HandleDoxygen) endif() include(LLDBConfig) diff --git a/lldb/docs/CMakeLists.txt b/lldb/docs/CMakeLists.txt index 87e05db8c9431..ccdcb4df1c60e 100644 --- a/lldb/docs/CMakeLists.txt +++ b/lldb/docs/CMakeLists.txt @@ -1,11 +1,8 @@ -include(FindDoxygen) - if(DOXYGEN_FOUND) set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}/..) set(DOT dot) set(PACKAGE_VERSION mainline) set(abs_top_builddir ..) - include(HandleDoxygen) llvm_configure_doxygen() add_custom_target(lldb-cpp-doc diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 075d3f3acfe3d..4509fbaba1d25 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -927,17 +927,6 @@ option (LLVM_ENABLE_BINDINGS "Build bindings." ON) option (LLVM_ENABLE_TELEMETRY "Enable the telemetry library. If set to OFF, library cannot be enabled after build (eg., at runtime)" ON) include(HandleDoxygen) -if (LLVM_ENABLE_DOXYGEN) - if (DOXYGEN_FOUND) - # If we find doxygen and we want to enable doxygen by default create a - # global aggregate doxygen target for generating llvm and any/all - # subprojects doxygen documentation. - if (LLVM_BUILD_DOCS) - add_custom_target(doxygen ALL) - endif() - endif() -endif() - set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/llvm/doxygen-html" CACHE STRING "Doxygen-generated HTML documentation install directory") diff --git a/llvm/docs/CMakeLists.txt b/llvm/docs/CMakeLists.txt index 5c8a24c0d6516..4e12d7902b02d 100644 --- a/llvm/docs/CMakeLists.txt +++ b/llvm/docs/CMakeLists.txt @@ -56,7 +56,6 @@ if (LLVM_ENABLE_DOXYGEN) set(llvm_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/mlir/docs/CMakeLists.txt b/mlir/docs/CMakeLists.txt index 53d9f73f912f6..447d4eb36ac70 100644 --- a/mlir/docs/CMakeLists.txt +++ b/mlir/docs/CMakeLists.txt @@ -1,4 +1,3 @@ - if (DOXYGEN_FOUND) if (LLVM_ENABLE_DOXYGEN) set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) @@ -47,7 +46,6 @@ if (LLVM_ENABLE_DOXYGEN) set(mlir_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/openmp/docs/CMakeLists.txt b/openmp/docs/CMakeLists.txt index 50e052e13e83e..186c903106463 100644 --- a/openmp/docs/CMakeLists.txt +++ b/openmp/docs/CMakeLists.txt @@ -1,4 +1,3 @@ - if (DOXYGEN_FOUND) if (LLVM_ENABLE_DOXYGEN) set(abs_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) @@ -47,7 +46,6 @@ if (LLVM_ENABLE_DOXYGEN) set(openmp_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/polly/docs/CMakeLists.txt b/polly/docs/CMakeLists.txt index b034b00ce9829..971653f015fed 100644 --- a/polly/docs/CMakeLists.txt +++ b/polly/docs/CMakeLists.txt @@ -46,7 +46,6 @@ if (LLVM_ENABLE_DOXYGEN) set(polly_doxygen_qhp_cust_filter_attrs "") endif() - include(HandleDoxygen) llvm_configure_doxygen() set(abs_top_srcdir) diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index f6debee97511f..0a84ef3957f76 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -296,7 +296,9 @@ option(LLVM_INCLUDE_DOCS "Generate build targets for the runtimes documentation. option(LLVM_ENABLE_SPHINX "Use Sphinx to generate the runtimes documentation." OFF) option(RUNTIMES_EXECUTE_ONLY_CODE "Compile runtime libraries as execute-only." OFF) -include(HandleDoxygen) +if(NOT HAVE_LLVM_LIT) + include(HandleDoxygen) +endif() if (RUNTIMES_EXECUTE_ONLY_CODE) # If a target doesn't support or recognise -mexecute-only, Clang will simply ignore the flag. _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
