From: Victor Westerhuis <victor@westerhu.is>
Date: Sat, 19 Nov 2022 23:12:02 +0100
Subject: Do not embed build directory in documentation

This makes the documentation build reproducibly.
---
 doc/CMakeLists.txt | 4 +++-
 doc/Doxyfile.in    | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

Index: opencv/doc/CMakeLists.txt
===================================================================
--- opencv.orig/doc/CMakeLists.txt	2024-12-11 01:59:53.335043595 +0000
+++ opencv/doc/CMakeLists.txt	2024-12-11 01:59:53.335043595 +0000
@@ -36,6 +36,7 @@
 
   # gathering headers
   set(paths_include)
+  set(paths_source)
   set(paths_doc)
   set(paths_bib)
   set(paths_sample)
@@ -72,6 +73,7 @@
           endif()
         endif()
       endif()
+      list(APPEND paths_source "${OPENCV_MODULE_opencv_${m}_LOCATION}/src")
       # doc folder
       set(docs_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/doc")
       if(EXISTS "${docs_dir}")
@@ -175,7 +177,7 @@
   string(REPLACE ";" " " CMAKE_DOXYGEN_ENABLED_SECTIONS "${CMAKE_DOXYGEN_ENABLED_SECTIONS}")
   # TODO: remove paths_doc from EXAMPLE_PATH after face module tutorials/samples moved to separate folders
   string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_EXAMPLE_PATH  "${example_path} ; ${paths_doc} ; ${paths_sample}")
-  string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INCLUDE_ROOTS "${paths_include}")
+  string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INCLUDE_ROOTS "${paths_include} ; ${paths_source}")
   set(CMAKE_DOXYGEN_LAYOUT "${CMAKE_CURRENT_BINARY_DIR}/DoxygenLayout.xml")
   set(CMAKE_DOXYGEN_OUTPUT_PATH "doxygen")
   set(CMAKE_DOXYGEN_MAIN_REFERENCE "${refs_main}")
Index: opencv/doc/Doxyfile.in
===================================================================
--- opencv.orig/doc/Doxyfile.in	2024-12-11 01:59:53.335043595 +0000
+++ opencv/doc/Doxyfile.in	2024-12-11 01:59:53.335043595 +0000
@@ -25,7 +25,7 @@
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@/modules @CMAKE_DOXYGEN_INCLUDE_ROOTS@
+STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@/modules @OPENCV_EXTRA_MODULES_PATH@ @CMAKE_SOURCE_DIR@/doc @CMAKE_BINARY_DIR@ @CMAKE_DOXYGEN_INCLUDE_ROOTS@
 STRIP_FROM_INC_PATH    = @CMAKE_DOXYGEN_INCLUDE_ROOTS@
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
