[Lldb-commits] [clang] [clang-tools-extra] [flang] [lldb] [llvm] [mlir] [openmp] [polly] Revert "[docs] update CI to use latest release of doxygen" (PR #202412)

Jameson Nash via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 8 11:56:10 PDT 2026


https://github.com/vtjnash created https://github.com/llvm/llvm-project/pull/202412

Reverts llvm/llvm-project#191501 as cmake CI is having an issue with it:

```
-- Doxygen enabled (1.14.0).
CMake Error at /work/as-worker-4/publish-doxygen-docs/llvm-project/cmake/Modules/HandleDoxygen.cmake:29 (add_custom_target):
  add_custom_target cannot create target "doxygen" because another target
  with the same name already exists.  The existing target is a custom target
  created in source directory
  "/work/as-worker-4/publish-doxygen-docs/llvm-project/llvm".  See
  documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
  docs/CMakeLists.txt:59 (include)
```

>From f14b2b1fb0e5f5e15611dbeb9eb0656d01a19db0 Mon Sep 17 00:00:00 2001
From: Jameson Nash <vtjnash at gmail.com>
Date: Mon, 8 Jun 2026 14:55:00 -0400
Subject: [PATCH] Revert "[docs] update CI to use latest release of doxygen
 (#191501)"

This reverts commit 2eed192c213322a235197286f08f146b94b20c86.
---
 .github/workflows/release-doxygen.yml |  7 +------
 bolt/docs/CMakeLists.txt              |  4 ++--
 bolt/docs/doxygen.cfg.in              |  2 --
 clang-tools-extra/docs/CMakeLists.txt |  4 ++--
 clang-tools-extra/docs/doxygen.cfg.in |  2 --
 clang/docs/CMakeLists.txt             |  4 ++--
 clang/docs/doxygen.cfg.in             |  2 --
 cmake/Modules/HandleDoxygen.cmake     | 18 +-----------------
 flang/docs/CMakeLists.txt             |  4 ++--
 flang/docs/doxygen.cfg.in             |  2 --
 lldb/docs/CMakeLists.txt              |  4 ++--
 lldb/docs/doxygen.cfg.in              |  2 --
 llvm/docs/CMakeLists.txt              |  4 ++--
 llvm/docs/doxygen.cfg.in              |  2 --
 mlir/docs/CMakeLists.txt              |  4 ++--
 mlir/docs/doxygen.cfg.in              |  2 --
 openmp/docs/CMakeLists.txt            |  4 ++--
 openmp/docs/doxygen.cfg.in            |  2 --
 polly/docs/CMakeLists.txt             |  4 ++--
 polly/docs/doxygen.cfg.in             |  2 --
 20 files changed, 20 insertions(+), 59 deletions(-)

diff --git a/.github/workflows/release-doxygen.yml b/.github/workflows/release-doxygen.yml
index 70f450bfe60db..548e17adbd023 100644
--- a/.github/workflows/release-doxygen.yml
+++ b/.github/workflows/release-doxygen.yml
@@ -93,18 +93,13 @@ jobs:
         run: |
           sudo apt-get update
           sudo apt-get install -y \
+              doxygen \
               graphviz \
               python3-github \
               ninja-build \
               texlive-font-utils
           pip3 install --require-hashes --user -r ./llvm/docs/requirements.txt
 
-      - name: Install Doxygen
-        run: |
-          curl -L https://github.com/doxygen/doxygen/releases/download/Release_1_17_0/doxygen-1.17.0.linux.bin.tar.gz -o doxygen.tar.gz
-          tar -xf doxygen.tar.gz
-          sudo install -m 755 doxygen-1.17.0/bin/doxygen /usr/local/bin/doxygen
-
       - name: Build Doxygen
         env:
           RELEASE_VERSION: ${{ inputs.release-version }}
diff --git a/bolt/docs/CMakeLists.txt b/bolt/docs/CMakeLists.txt
index 92c3c964acb77..897a0ae043259 100644
--- a/bolt/docs/CMakeLists.txt
+++ b/bolt/docs/CMakeLists.txt
@@ -48,8 +48,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(bolt_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/bolt/docs/doxygen.cfg.in b/bolt/docs/doxygen.cfg.in
index 79ccde79d55e0..de8b1f7bd6b3d 100644
--- a/bolt/docs/doxygen.cfg.in
+++ b/bolt/docs/doxygen.cfg.in
@@ -392,8 +392,6 @@ LOOKUP_CACHE_SIZE      = 0
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/clang-tools-extra/docs/CMakeLists.txt b/clang-tools-extra/docs/CMakeLists.txt
index 1492f25a0197f..1eb9dc294f225 100644
--- a/clang-tools-extra/docs/CMakeLists.txt
+++ b/clang-tools-extra/docs/CMakeLists.txt
@@ -46,8 +46,8 @@ if (DOXYGEN_FOUND)
       set(clang_tools_doxygen_qhp_cust_filter_attrs "")
     endif()
 
-    include(HandleDoxygen)
-    llvm_configure_doxygen()
+    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+      ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
     set(abs_top_srcdir)
     set(abs_top_builddir)
diff --git a/clang-tools-extra/docs/doxygen.cfg.in b/clang-tools-extra/docs/doxygen.cfg.in
index 854c548b7a3d0..d33094f099acf 100644
--- a/clang-tools-extra/docs/doxygen.cfg.in
+++ b/clang-tools-extra/docs/doxygen.cfg.in
@@ -390,8 +390,6 @@ LOOKUP_CACHE_SIZE      = 2
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/clang/docs/CMakeLists.txt b/clang/docs/CMakeLists.txt
index b0de3e74c5c7d..766f0d1575eee 100644
--- a/clang/docs/CMakeLists.txt
+++ b/clang/docs/CMakeLists.txt
@@ -47,8 +47,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(clang_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/clang/docs/doxygen.cfg.in b/clang/docs/doxygen.cfg.in
index 5f7dd22fc77f4..09764efc2261e 100644
--- a/clang/docs/doxygen.cfg.in
+++ b/clang/docs/doxygen.cfg.in
@@ -390,8 +390,6 @@ LOOKUP_CACHE_SIZE      = 3
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/cmake/Modules/HandleDoxygen.cmake b/cmake/Modules/HandleDoxygen.cmake
index bb89a8f3302cb..23015ffcaa85c 100644
--- a/cmake/Modules/HandleDoxygen.cmake
+++ b/cmake/Modules/HandleDoxygen.cmake
@@ -17,9 +17,9 @@ function(llvm_find_program name)
 endfunction()
 
 if (LLVM_ENABLE_DOXYGEN)
+  message(STATUS "Doxygen enabled.")
   llvm_find_program(dot)
   find_package(Doxygen REQUIRED)
-  message(STATUS "Doxygen enabled (${DOXYGEN_VERSION}).")
 
   if (DOXYGEN_FOUND)
     # If we find doxygen and we want to enable doxygen by default create a
@@ -35,22 +35,6 @@ if (LLVM_ENABLE_DOXYGEN)
       set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings")
     endif()
   endif()
-
-  # Uses all CPUs for doxygen >= 1.17 where multi-threading is fast, and
-  # single-threaded (1) for older versions where multi-threading is slower than
-  # single-threaded.
-  if (DOXYGEN_VERSION VERSION_GREATER_EQUAL "1.17")
-    set(DOXYGEN_NUM_PROC_THREADS 0)
-  else()
-    set(DOXYGEN_NUM_PROC_THREADS 1)
-  endif()
 else()
   message(STATUS "Doxygen disabled.")
 endif()
-
-# Configure doxygen.cfg.in -> doxygen.cfg, using a macro here to ensure that
-# DOXYGEN_NUM_PROC_THREADS has been set.
-macro(llvm_configure_doxygen)
-  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
-    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
-endmacro()
diff --git a/flang/docs/CMakeLists.txt b/flang/docs/CMakeLists.txt
index 5f2fb2fadd067..09219b2bad811 100644
--- a/flang/docs/CMakeLists.txt
+++ b/flang/docs/CMakeLists.txt
@@ -48,8 +48,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(flang_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/flang/docs/doxygen.cfg.in b/flang/docs/doxygen.cfg.in
index 78c3cdf57f343..cbbe87d92dc90 100644
--- a/flang/docs/doxygen.cfg.in
+++ b/flang/docs/doxygen.cfg.in
@@ -392,8 +392,6 @@ LOOKUP_CACHE_SIZE      = 0
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/lldb/docs/CMakeLists.txt b/lldb/docs/CMakeLists.txt
index bf11b38b3266f..02f0c3ef081a3 100644
--- a/lldb/docs/CMakeLists.txt
+++ b/lldb/docs/CMakeLists.txt
@@ -5,8 +5,8 @@ if(DOXYGEN_FOUND)
   set(DOT dot)
   set(PACKAGE_VERSION mainline)
   set(abs_top_builddir ..)
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+  ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   add_custom_target(lldb-cpp-doc
     ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
diff --git a/lldb/docs/doxygen.cfg.in b/lldb/docs/doxygen.cfg.in
index 045660ce4f281..2bb7abbde47ab 100644
--- a/lldb/docs/doxygen.cfg.in
+++ b/lldb/docs/doxygen.cfg.in
@@ -293,8 +293,6 @@ SYMBOL_CACHE_SIZE      = 0
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available.
 # Private class members and static file members will be hidden unless
diff --git a/llvm/docs/CMakeLists.txt b/llvm/docs/CMakeLists.txt
index 5c8a24c0d6516..fc37c6d97ddfa 100644
--- a/llvm/docs/CMakeLists.txt
+++ b/llvm/docs/CMakeLists.txt
@@ -56,8 +56,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(llvm_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/llvm/docs/doxygen.cfg.in b/llvm/docs/doxygen.cfg.in
index d884d92053f6a..82b281ad103ba 100644
--- a/llvm/docs/doxygen.cfg.in
+++ b/llvm/docs/doxygen.cfg.in
@@ -391,8 +391,6 @@ LOOKUP_CACHE_SIZE      = 4
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/mlir/docs/CMakeLists.txt b/mlir/docs/CMakeLists.txt
index 53d9f73f912f6..b32b9427adb5e 100644
--- a/mlir/docs/CMakeLists.txt
+++ b/mlir/docs/CMakeLists.txt
@@ -47,8 +47,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(mlir_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/mlir/docs/doxygen.cfg.in b/mlir/docs/doxygen.cfg.in
index 382ea8faaedce..255041b6817a9 100644
--- a/mlir/docs/doxygen.cfg.in
+++ b/mlir/docs/doxygen.cfg.in
@@ -391,8 +391,6 @@ LOOKUP_CACHE_SIZE      = 4
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/openmp/docs/CMakeLists.txt b/openmp/docs/CMakeLists.txt
index 50e052e13e83e..1a807b172a762 100644
--- a/openmp/docs/CMakeLists.txt
+++ b/openmp/docs/CMakeLists.txt
@@ -47,8 +47,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(openmp_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/openmp/docs/doxygen.cfg.in b/openmp/docs/doxygen.cfg.in
index 2b4fd0b5c5ee1..07964e90c8eaf 100644
--- a/openmp/docs/doxygen.cfg.in
+++ b/openmp/docs/doxygen.cfg.in
@@ -390,8 +390,6 @@ LOOKUP_CACHE_SIZE      = 3
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
diff --git a/polly/docs/CMakeLists.txt b/polly/docs/CMakeLists.txt
index b034b00ce9829..8b801339962ce 100644
--- a/polly/docs/CMakeLists.txt
+++ b/polly/docs/CMakeLists.txt
@@ -46,8 +46,8 @@ if (LLVM_ENABLE_DOXYGEN)
     set(polly_doxygen_qhp_cust_filter_attrs "")
   endif()
 
-  include(HandleDoxygen)
-  llvm_configure_doxygen()
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
 
   set(abs_top_srcdir)
   set(abs_top_builddir)
diff --git a/polly/docs/doxygen.cfg.in b/polly/docs/doxygen.cfg.in
index 277f86eef83cd..5c4e8a6372820 100644
--- a/polly/docs/doxygen.cfg.in
+++ b/polly/docs/doxygen.cfg.in
@@ -390,8 +390,6 @@ LOOKUP_CACHE_SIZE      = 2
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-NUM_PROC_THREADS       = @DOXYGEN_NUM_PROC_THREADS@
-
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the



More information about the lldb-commits mailing list